Common Lisp 可移植性库状态

Lobsters Hottest 工具

摘要

Common Lisp 可移植性库的全面状态概览,展示了不同 Common Lisp 实现之间的兼容性百分比。

<p><a href="https://lobste.rs/s/rfkain/common_lisp_portability_library_status">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/05/26 03:15

# Common Lisp 可移植性库状态 来源:https://portability.cl/ ## ATOMICS (https://shinmera.com/docs/atomics) - ABCL0% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 原子操作(如比较并交换CAS)的薄封装。 ## BORDEAUX-THREADS (https://github.com/sionescu/bordeaux-threads) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA100% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL0% 基本多线程构造,包括锁和条件变量。 ## CFFI (https://common-lisp.net/project/cffi/) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO0% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL0% 直接内存操作以及与遵循C ABI的外部库的交互。 ## CL-ENVIRONMENTS (https://github.com/alex-gutev/cl-environments) - ABCL100% - ALLEGRO100% - CCL100% - CLASP0% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 如CLtL2中所述的环境内省。 ## CLAST (http://clast.sourceforge.net/) - ABCL0% - ALLEGRO100% - CCL100% - CLASP0% - CLISP0% - CMUCL100% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% Common Lisp抽象语法树内省(附带CLtL2环境)。 ## CLOSER-MOP (https://github.com/pcostanza/closer-mop) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 用于CLOS的通用元对象协议扩展。 ## DEFINITIONS (https://shinmera.com/docs/definitions) - ABCL75% - ALLEGRO75% - CCL100% - CLASP100% - CLISP75% - CMUCL75% - CORMAN75% - ECL75% - GCL75% - GENERA75% - JSCL75% - LISPWORKS75% - MCL75% - MEZZANO75% - MKCL75% - MOCL75% - SBCL100% - SCL75% - XCL75% 便携式定义反射库,包含源代码位置跟踪。 ## DISSECT (https://shinmera.com/docs/dissect) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 捕获调用栈并检查帧。 ## FLOAT-FEATURES (https://shinmera.com/docs/float-features) - ABCL100% - ALLEGRO90% - CCL100% - CLASP100% - CLISP10% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS90% - MCL0% - MEZZANO100% - MKCL90% - MOCL0% - SBCL100% - SCL0% - XCL0% IEEE浮点数扩展,如无穷大、NaN处理和陷阱屏蔽。 ## GLOBAL-VARS (https://github.com/lmj/global-vars) - ABCL0% - ALLEGRO0% - CCL100% - CLASP0% - CLISP0% - CMUCL0% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 不可重新绑定的全局变量。 ## INTROSPECT-ENVIRONMENT (https://github.com/Bike/introspect-environment) - ABCL0% - ALLEGRO0% - CCL100% - CLASP100% - CLISP0% - CMUCL100% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 编译时环境内省。 ## NONTRIVIAL-GRAY-STREAMS (https://github.com/yitzchak/nontrivial-gray-streams) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL100% - MOCL0% - SBCL100% - SCL0% - XCL0% Gray流的兼容层,包含扩展。 ## SHUT-IT-DOWN (http://verisimilitudes.net/2017-12-30) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL100% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO0% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL100% 允许退出Lisp进程。 ## STATIC-VECTORS (https://github.com/sionescu/static-vectors) - ABCL0% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 不会在内存中移动且可与外部系统共享的简单数组。 ## TRIVIAL-ARGUMENTS (https://shinmera.com/docs/trivial-arguments) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL100% - XCL0% 获取函数的 lambda 列表。 ## TRIVIAL-BACKTRACE (https://common-lisp.net/project/trivial-backtrace/) - ABCL0% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL100% - XCL0% 将当前栈跟踪打印为字符串。 ## TRIVIAL-CLTL2 (https://github.com/Zulu-Inuoe/trivial-cltl2) - ABCL100% - ALLEGRO100% - CCL100% - CLASP88% - CLISP0% - CMUCL100% - CORMAN0% - ECL12% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% CLtL2 中描述但未包含在 ANSI 中的一些扩展。 ## TRIVIAL-CUSTOM-DEBUGGER (https://github.com/phoe/trivial-custom-debugger) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 允许任意函数成为标准的 Lisp 调试器 ## TRIVIAL-DEPRECATE (https://shinmera.com/project/trivial-deprecate) - ABCL75% - ALLEGRO75% - CCL75% - CLASP75% - CLISP75% - CMUCL75% - CORMAN75% - ECL75% - GCL75% - GENERA75% - JSCL75% - LISPWORKS75% - MCL75% - MEZZANO75% - MKCL75% - MOCL75% - SBCL100% - SCL75% - XCL75% 这个库实现了一个简单的弃用机制。 ## TRIVIAL-ED-FUNCTIONS (https://github.com/yitzchak/trivial-ed-functions) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 提供由 ED 函数调用的钩子函数,以委托编辑文件或对象。 ## TRIVIAL-EXTENSIBLE-SEQUENCES (https://shinmera.com/docs/trivial-extensible-sequences) - ABCL100% - ALLEGRO0% - CCL0% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 通过 CLOS 协议的自定义序列类。 ## TRIVIAL-FEATURES (https://github.com/trivial-features/trivial-features) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL100% - MOCL100% - SBCL100% - SCL100% - XCL100% CPU 架构和操作系统的标准化平台特性。 ## TRIVIAL-FILE-SIZE (https://github.com/ruricolist/trivial-file-size) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL50% - GCL100% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 从文件的元数据查询其大小。 ## TRIVIAL-GARBAGE (https://common-lisp.net/project/trivial-garbage/) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL100% - XCL0% 访问 GC 相关任务,如弱引用、弱表和终结器。 ## TRIVIAL-GRAY-STREAMS (https://github.com/trivial-gray-streams/trivial-gray-streams) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN0% - ECL100% - GCL0% - GENERA100% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO100% - MKCL100% - MOCL100% - SBCL100% - SCL0% - XCL0% 通过 CLOS 协议的自定义流类。 ## TRIVIAL-INSPECTOR-HOOK (https://github.com/yitzchak/trivial-inspector-hook) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO100% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 提供 *INSPECTOR-HOOK* (CDR-6),由 INSPECT 函数调用以委托检查。 ## TRIVIAL-MACROEXPAND-ALL (https://github.com/yitzchak/trivial-macroexpand-all) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100% - MCL0% - MEZZANO0% - MKCL100% - MOCL0% - SBCL100% - SCL100% - XCL0% 提供一个可移植的 macroexpand-all 函数。 ## TRIVIAL-PACKAGE-LOCAL-NICKNAMES (https://github.com/phoe/trivial-package-local-nicknames) - ABCL100% - ALLEGRO100% - CCL100%\*1.12 - CLASP100% - CLISP0% - CMUCL0% - CORMAN0% - ECL100% - GCL0% - GENERA0% - JSCL0% - LISPWORKS100%\*7.2 - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 包本地昵称,避免包命名冲突。 1. 1.12CCL 2. 7.2LISPWORKS ## TRIVIAL-PACKAGE-LOCKS (https://github.com/yitzchak/trivial-package-locks) - ABCL0% - ALLEGRO100% - CCL0% - CLASP0% - CLISP75% - CMUCL75% - CORMAN0% - ECL75% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100% - SCL0% - XCL0% 包锁防止对包的意外修改 ## TRIVIAL-WITH-CURRENT-SOURCE-FORM (https://github.com/scymtym/trivial-with-current-source-form) - ABCL0% - ALLEGRO0% - CCL0% - CLASP100%\*0.1.0 - CLISP0% - CMUCL0% - CORMAN0% - ECL0% - GCL0% - GENERA0% - JSCL0% - LISPWORKS0% - MCL0% - MEZZANO0% - MKCL0% - MOCL0% - SBCL100%\*0.1.01.3.13 - SCL0% - XCL0% 允许宏编写者在宏展开过程中发生错误时向宏用户提供更好的反馈。 1. CLASPSince0.1.0 2. 1.3.13SBCLSince0.1.0 ## UIOP (https://common-lisp.net/project/asdf/uiop.html) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL100% - GENERA100% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO100% - MKCL100% - MOCL100% - SBCL100% - SCL100% - XCL100% 随 ASDF 发布的通用工具包库。处理路径名、文件系统、外部进程等。 ## USOCKET (https://common-lisp.net/project/usocket/) - ABCL100% - ALLEGRO100% - CCL100% - CLASP100% - CLISP100% - CMUCL100% - CORMAN100% - ECL100% - GCL0% - GENERA100% - JSCL0% - LISPWORKS100% - MCL100% - MEZZANO75% - MKCL0% - MOCL100% - SBCL100% - SCL100% - XCL0% POSIX/BSD 套接字,用于建立 TCP 或 UDP 连接和服务器。

相似文章

关于C扩展、可移植性和替代编译器

Lobsters Hottest

本文讨论了编写可移植C代码的实际挑战,这些挑战源于对非标准编译器扩展和glibc条件头文件的依赖,并通过构建C编译器的示例进行说明。

C++ 标准库在过去十五年间一直在自我撤步,证据公开

Lobsters Hottest

一份详细的目录,列出了从 C++11 到 C++26 期间被正式弃用、非正式不推荐或由于 ABI 约束实际上已损坏但无法修复的 C++ 标准库特性。文章指出,C++ 委员会推出一系列替代品来替换其自身特性的模式始终如一,其中包含一个基准测试,显示 Rust 和 C++ 标准库容器之间的 P99 延迟差异高达 58 倍。