Clojure is a general-purpose, functional programming language hosted on the Java Virtual Machine. It is a homoiconic S-expression language that represents programs as nested data structures, allowing code to be manipulated and evaluated as data.
The main features of clojure/clojure are: Homoiconic Languages, Homoiconic Syntax, Transducers and Streams, Collection Reductions, Persistent Collection Implementations, Interactive REPLs, Programmatic REPLs, Dynamic Library Loading.
Open-source alternatives to clojure/clojure include: scala/scala — Scala is a statically typed programming language and compiler that combines object-oriented and functional programming… hylang/hy — Hy is a Lisp implementation for Python that allows for writing Lisp syntax which compiles to Python bytecode. It… louthy/language-ext — language-ext is a functional programming framework for C# that provides a suite of immutable data structures and… scala/scala3 — Scala 3 is an open-source, statically typed programming language that compiles to JVM bytecode, combining… mozilla/rhino — Rhino is a Java-based JavaScript engine that implements an ECMAScript compatibility layer for execution inside a Java… vavr-io/vavr.
Scala is a statically typed programming language and compiler that combines object-oriented and functional programming paradigms. It serves as a cross-platform runtime language capable of targeting the Java Virtual Machine and JavaScript to share logic between backend servers and web frontends. The project provides a functional programming framework with immutable data structures and higher-order functions to build reliable concurrent and distributed applications. It distinguishes itself through deep interoperability with Java and JavaScript ecosystems and the ability to transform code into n
Hy is a Lisp implementation for Python that allows for writing Lisp syntax which compiles to Python bytecode. It operates as a Python-based Lisp dialect and S-expression language, providing full access to the Python standard library and ecosystem. The language focuses on macro-based metaprogramming, featuring an AST-walking macro system and reader macros that allow for custom syntax transformations and parsing rules. It enables the manipulation of the abstract syntax tree to extend language capabilities. The project includes a read-eval-print loop for interactive development and supports sta
language-ext is a functional programming framework for C# that provides a suite of immutable data structures and monadic types. It enables the implementation of pure functional programming patterns, utilizing containers to manage side effects, optional values, and error handling. The library is distinguished by its advanced concurrency and state management tools, including a software transactional memory system and lock-free atomic references. It also provides specialized utilities for distributed systems, such as vector clocks for causality tracking and deterministic data conflict resolution
Scala 3 is an open-source, statically typed programming language that compiles to JVM bytecode, combining object-oriented and functional programming paradigms. Its core identity is defined by a sophisticated type system that includes traits, generics, union types, and a dependent object type system where types can depend on runtime values through path-dependent and singleton types. The language distinguishes itself through several advanced type-level and metaprogramming capabilities. It features a contextual abstraction mechanism using given instances and using clauses for compile-time implic