AI repository intelligence
FR-AI / ANALYSISWhy it is worth attention
Enables Clojure developers to leverage Emacs's extensibility with familiar syntax while maintaining near-native performance and seamless interop with Emacs Lisp.
Who it is for
- Emacs users who prefer Clojure syntax
- Developers writing Emacs packages or configurations
- Clojurists wanting to use Emacs as their editor
- Elisp developers seeking a more modern syntax
Use cases
- Write Emacs configuration files in Clojure-like syntax
- Develop Emacs packages with Clojure-style functions and macros
- Quickly prototype Emacs Lisp code using Clojure's threading macros and destructuring
- Interop between Clojure and Emacs Lisp for mixed-language projects
Strengths
- Fast compilation and caching (warm cache load ~1.9ms vs 1.0ms for plain elisp)
- Bidirectional interop: functions defined in cljbang are callable from Elisp and vice versa
- Supports many Clojure core functions, macros with syntax-quote, destructuring, and namespace management
- Includes integration with clj-kondo for linting and Emacs mode for inline evaluation
Considerations
- Not a full Clojure implementation: lacks protocols, multimethods, and some reader forms
- Collection operations (map, filter, assoc) are slower due to wrapper overhead and copy-on-write
- Requires understanding Emacs Lisp semantics (e.g., division, truthiness) due to direct interop
README quick start
Installation
Description
A Clojure-like language that runs as Emacs Lisp.