Cljbang 是一种类似 Clojure 的语言,它编译为 Emacs Lisp 并在 Emacs 中运行,允许用户使用熟悉的 Clojure 语法编写 Emacs Lisp 代码。

Stars

94

7 天增长

暂无数据

Fork 数

1

开放 Issue

0

开源协议

MIT

最近更新

2026-07-22

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

使 Clojure 开发者能够利用 Emacs 的可扩展性,同时保持接近原生的性能和与 Emacs Lisp 的无缝互操作。

适合谁使用

  • 偏好 Clojure 语法的 Emacs 用户
  • 编写 Emacs 包或配置的开发者
  • 希望将 Emacs 作为编辑器的 Clojure 程序员
  • 寻求更现代语法的 Elisp 开发者

典型使用场景

  • 使用类似 Clojure 的语法编写 Emacs 配置文件
  • 使用 Clojure 风格的函数和宏开发 Emacs 包
  • 利用 Clojure 的线程宏和析构快速原型化 Emacs Lisp 代码
  • 在混合语言项目中进行 Clojure 与 Emacs Lisp 的互操作

项目优势

  • 快速编译和缓存(热缓存加载约 1.9ms,对比纯 Elisp 的 1.0ms)
  • 双向互操作:cljbang 中定义的函数可从 Elisp 调用,反之亦然
  • 支持许多 Clojure 核心函数、带语法引用的宏、析构和命名空间管理
  • 集成 clj-kondo 进行 lint 检查并提供 Emacs 模式支持内联求值

使用前须知

  • 不是完整的 Clojure 实现:缺少协议、多重方法和某些读取器形式
  • 集合操作(map、filter、assoc)由于包装开销和复制而较慢
  • 由于直接互操作,需要理解 Emacs Lisp 的语义(如除法、真值判断)

README 快速开始

Installation

项目描述

A Clojure-like language that runs as Emacs Lisp.