GitHub - dtenny/clj-coll: 在 Common Lisp 中的 Clojure 集合和序列 API,带有可选的 Clojure 集合语法

主要观点:CLJ-COLL 是 Common Lisp 中 Clojure 集合 API 的实现,提供了 immutable Cons、Queue、PersistentList 等能力以及基于 FSet 的 Vector、Set、Map 类似物,旨在为 Clojure 程序员提供更自然的体验,包含多种功能和用法。
关键信息

  • 提供 257 个函数,大部分来自 Clojure 的 clojure.coreclojure.set 命名空间,还有一些杂项函数。
  • 与 Common Lisp 集合类型有良好的互操作性,包括各种集合和序列 API、懒序列等。
  • 可通过 Ultralisp 或 github 获取,有多种使用方式和配置选项。
  • 涉及比较和相等性、defstructdefclass 实例比较、关键字和键控集合作为谓词等方面的内容。
  • 有关于命名读表、打印表示、Emacs 提示、测试的 Lisps 等细节。
    重要细节
  • 提供了多种可选的打印支持、读表语法支持,可根据需求启用或禁用。
  • 介绍了“M 函数”,它们能在使用 Clojure API 功能时返回 Common Lisp 集合。
  • 指出了一些工作良好的方面、存在的不足(如不一致的 Clojure 相等语义、性能问题等)以及与 Clojure 的差异。
  • 强调了一些语义和注意事项,如 mutation、线程安全等。
  • 提及了相关项目和差异,以及向上/未来兼容性的考虑。
  • 欢迎反馈并提供了相关阅读资料和联系方式。
阅读 29
0 条评论