我用一些很好的函数来研究 Common Lisp 项目:
CL-USER> (list-all-packages)
CL-USER> (describe (asdf:find-system "asdf"))
如何列出所有系统都知道asdf
,quicklisp
或sbcl
?我试图从文档中挖掘它,但还没有找到它。
我用一些很好的函数来研究 Common Lisp 项目:
CL-USER> (list-all-packages)
CL-USER> (describe (asdf:find-system "asdf"))
如何列出所有系统都知道asdf
,quicklisp
或sbcl
?我试图从文档中挖掘它,但还没有找到它。
在 ASDF 中注册的所有系统:
(asdf:registered-systems)
我通过键入asdf:systems
并让自动完成提示一个名称找到了一个。符号是导出的,所以这是公平的游戏。显然它是无证的。
Quicklisp 有一个分布的概念dists。
(ql-dist:all-dists)
每个 dist 都有不同的版本(http://blog.quicklisp.org/2011/08/going-back-in-dist-time.html):
(ql-dist:available-versions (ql-dist:dist "quicklisp"))
每个 dist 提供系统:
(ql-dist:provided-systems (ql-dist:dist "quicklisp"))
每个系统都有一个版本,您可以列出所有版本:
(ql-dist:provided-releases (ql-dist:dist "quicklisp"))
一致的实现有一个 列表*MODULES*
,这对于您的实现作为内置的系统非常有用;对于 SBCL:
CL-USER> (require 'sb-mpfr)
("SB-MPFR" "SB-GMP")
CL-USER> *modules*
("SB-GMP" "SB-MPFR" ...)
此外,您可以方便地搜索所有 quickdist 的系统,查找它们的文档和依赖项: