awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
clojure avatar

clojure/clojure

0
View on GitHub↗
11,006 星标·1,462 分支·Java·4 次浏览clojure.org↗

Clojure

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 project provides a framework for JVM interoperability, enabling the invocation of Java methods and integration with other JVM-based languages. It distinguishes itself through a persistent data structure library that uses bitmapped vector tries to manage immutable collections and a programmatic REPL for interactive software development and real-time library loading.

The system includes capabilities for parallel data processing using a fork-join model and data transformation via transducers. It also covers protocol-based polymorphism, metadata-driven dispatch, and a compilation process that transforms high-level expressions into Java bytecode.

The runtime supports remote access to interactive environments via socket server initialization.

Features

  • Homoiconic Languages - Represents programs as nested data structures, allowing code to be manipulated and evaluated as data.
  • Homoiconic Syntax - Represents programs as nested data structures, allowing code to be manipulated and evaluated as data.
  • Transducers and Streams - Provides transducers to create reusable transformation recipes that operate across different data collection types.
  • Collection Reductions - Implements functional patterns for collapsing associative collections into single values using accumulator functions.
  • Persistent Collection Implementations - Implements immutable collections using structural sharing and bitmapped vector tries for efficient memory and performance.
  • Interactive REPLs - Ships a programmatic REPL for real-time expression evaluation and library loading without environment restarts.
  • Programmatic REPLs - Evaluates expressions and returns structured data maps containing return values and output streams.
  • Dynamic Library Loading - Downloads and loads libraries into the active session without restarting the execution environment.
  • Source-to-Bytecode Compilers - Provides a compiler that transforms high-level functional expressions into optimized Java bytecode for the JVM.
  • Functional Programming Frameworks - Provides a high-level framework for application development based on functional paradigms and immutable data structures.
  • Java Method Invocations - Provides seamless invocation of qualified Java methods and constructors as functions through generated wrapping logic.
  • JVM Interoperability Frameworks - Provides a seamless bridge interface for invoking Java methods and integrating other JVM-based languages.
  • Persistent Data Structures - Ships highly efficient immutable collections based on bitmapped vector tries to ensure stability and scalability.
  • JVM Ecosystem - Integrates seamlessly with the JVM ecosystem to invoke Java methods and leverage existing libraries.
  • Lisp Dialects - Implements a functional Lisp dialect hosted on the JVM with a strong emphasis on immutable data and REPL-driven development.
  • Purely Functional Languages - Provides a general-purpose language centered on pure functions and immutable data structures.
  • JVM Bytecode Compilers - Transforms high-level functional expressions into Java bytecode for execution on the Java Virtual Machine.
  • Java Virtual Machine Runtimes - Provides a functional programming runtime hosted on the Java Virtual Machine with direct access to Java libraries.
  • Homoiconicity - Represents code as nested data structures allowing the language to treat programs as manipulatable data.
  • S-Expression Languages - Represents programs as nested S-expressions, allowing the language to treat code as manipulatable data.
  • Language Stream APIs - Implements functional-style operations to process Java data streams using sequence, reduce, and transduce operations.
  • Stable Hashing - Creates consistent hashes for primitives and collections to increase the speed of hashed data lookups.
  • Parallel Processing - Implements parallel data processing by splitting large tasks across available CPU cores using a fork-join model.
  • Transducers - Decouples data transformation logic from input sources to process collections without creating intermediate data structures.
  • Data Transformation Pipelines - Implements reusable data transformation pipelines using transducers to process collections without intermediate structures.
  • Parallel Reductions - Executes fold and reduce operations across multiple CPU cores using a fork-join model to increase processing speed.
  • Direct Method Call Generation - Optimizes performance by generating direct calls to static methods, bypassing variable and object lookup overhead.
  • Metadata-Driven Dispatch - Uses attached metadata on data atoms to determine how functions or protocols behave at runtime.
  • Safe Data Reading - Implements a restricted reader for untrusted sources that prevents arbitrary code evaluation during data parsing.
  • Metadata-Based Protocol Implementation - Implements protocol functions by defining them directly within the metadata of a value.
  • Protocol-Based Polymorphism - Decouples interface definition from implementation by allowing any data type to implement a set of required functions.
  • Persistent Collection Partitioning - Optimizes the partitioning of persistent and algorithmic collections to avoid slow sequential traversal.

Star 历史

clojure/clojure 的 Star 历史图表clojure/clojure 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

包含 Clojure 的精选搜索

收录 Clojure 的精选合集。
  • Clojure 与 Lisp 编程资源

Clojure 的开源替代方案

相似的开源项目,按与 Clojure 的功能重合度排序。
  • scala/scalascala 的头像

    scala/scala

    14,548在 GitHub 上查看↗

    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

    Scalafunctional-programmingjvm-languagesobject-oriented-programming
    在 GitHub 上查看↗14,548
  • hylang/hyhylang 的头像

    hylang/hy

    5,425在 GitHub 上查看↗

    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

    Python
    在 GitHub 上查看↗5,425
  • frege/fregeFrege 的头像

    Frege/frege

    3,700在 GitHub 上查看↗

    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

    Frege
    在 GitHub 上查看↗3,700
  • louthy/language-extlouthy 的头像

    louthy/language-ext

    7,057在 GitHub 上查看↗

    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

    C#
    在 GitHub 上查看↗7,057
查看 Clojure 的所有 30 个替代方案→

常见问题解答

clojure/clojure 是做什么的?

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.

clojure/clojure 的主要功能有哪些?

clojure/clojure 的主要功能包括:Homoiconic Languages, Homoiconic Syntax, Transducers and Streams, Collection Reductions, Persistent Collection Implementations, Interactive REPLs, Programmatic REPLs, Dynamic Library Loading。

clojure/clojure 有哪些开源替代品?

clojure/clojure 的开源替代品包括: 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… frege/frege — Frege is a purely functional programming language that compiles to JVM bytecode, providing Haskell-like semantics for… 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…