Groovy هي لغة برمجة JVM وإطار عمل للبرمجة الوصفية (Metaprogramming) يوفر بيئة متوافقة مع Java لبناء التطبيقات. تعمل كلغة برمجة نصية ديناميكية وأداة لتأليف لغات خاصة بالمجال (DSL)، مما يسمح بتنفيذ نصوص برمجية مخصصة وإنشاء لغات مصغرة متخصصة ذات بناء جملة موجز.
الميزات الرئيسية لـ apache/groovy هي: JVM Application Development, Programming Languages, Code Prototyping, Class Extensions, Runtime Meta-Class Extensions, Dynamic Method Dispatch, Java Interoperability, Metaprogramming.
تشمل البدائل مفتوحة المصدر لـ apache/groovy: frege/frege — Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for… jruby/jruby — JRuby is a Ruby language implementation that runs on the Java Virtual Machine. It serves as a cross-language runtime… kanaka/mal — This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of… sweet-js/sweet-core — Sweet-core is a JavaScript source-to-source compiler and Lisp-style macro system. It functions as a syntax transformer… charmbracelet/vhs — This project is a terminal automation and recording tool that uses a custom declarative scripting language to execute… cake-build/cake — Cake is a cross-platform build automation system and scripting framework that allows users to define software build…
Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for the Java platform. It is built around a Haskell-inspired compiler that implements non-strict evaluation and a static type inference system to ensure data immutability and prevent side effects. The project distinguishes itself through a sophisticated type system featuring rank polymorphism, type-class based dispatch, and static purity enforcement. It includes a JVM language bridge and a foreign function interface that map Java classes and interfaces into functional types, allow
JRuby is a Ruby language implementation that runs on the Java Virtual Machine. It serves as a cross-language runtime and execution environment, allowing Ruby code to run on the JVM and share memory with Java applications. The project functions as a bridge between Ruby and Java, enabling Ruby scripts to call Java classes and libraries directly. It also provides a mechanism to embed a Ruby interpreter into Java applications to allow for dynamic scripting. The runtime leverages the JVM for system scalability and ensures a consistent execution environment across different operating systems.
This project is a Lisp interpreter implementation guide and framework designed to teach the core principles of programming language design. It provides a structured, step-by-step technical framework for building a functional Lisp language from scratch, featuring a specialized interpreter engine and an S-expression parser that converts syntax into abstract syntax trees. The project emphasizes a code-as-data metaprogramming framework, enabling the implementation of macros, quoting, and quasiquoting to transform expressions during evaluation. It is designed with host language agnosticism, allowi
Sweet-core is a JavaScript source-to-source compiler and Lisp-style macro system. It functions as a syntax transformer that extends JavaScript by allowing the definition of custom syntax and operators during the compilation process. The system provides a framework for building domain-specific languages through hygienic, recursive macro expansion and the creation of new language constructs. It distinguishes itself by supporting custom operator definitions with configurable associativity and precedence to control expression evaluation. The compiler includes a specialized module system for mana