我用来研究Common Lisp项目的功能很好:
CL-USER> (list-all-packages)
CL-USER> (describe (asdf:find-system "asdf"))
如何列出asdf
,quicklisp
或sbcl
已知的所有系统?
我尝试从文档中进行挖掘,但尚未找到它。
答案 0 :(得分:4)
在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" ...)
答案 1 :(得分:1)
此外,您还可以方便地在所有quickdist的系统中进行搜索,查找其文档和依赖项: