每次我使用Quicklisp时,我都觉得我正在玩彩票。我找不到包含列表和文档的网页。
作为一个具体的例子,我搜索了(ql:system-apropos "random-access-list")
,因为我是ound an implementation of SRFI-101,它基于Okasakis纯粹的功能数据结构,在CL中。我试过这个:
[1]> (ql:system-apropos-list "random-access-lists")
(#<QL-DIST:SYSTEM random-access-lists / random-access-lists-20120208-git / quicklisp 2016-03-18>)
[2]>
我知道名称random-access-lists
不是非常具体,因此可能有其他包具有该名称。上次我不那么幸运,发现了4个局部比赛,而且最匹配的那个不是我想要的包裹。
如何找到有关搜索结果的更多信息?
答案 0 :(得分:3)
一个有点hacky的解决方案是下载系统并使用ASDF:SYSTEM-DESCRIPTION
查看它的描述。像
(defun describe-ql-system (system)
(let ((system (asdf:find-system
(ql-dist:name
(ql-dist:ensure-installed
(ql-dist:find-system system))))))
(format t "~a~%~@[~a~%~]"
(asdf:system-description system)
(asdf:system-long-description system))))
(describe-ql-system :random-access-lists)
; Persistent, random-access lists.
稍微更精致的版本:
(defun describe-ql-system (system)
(let ((system (if (typep system 'ql-dist:system)
system
(ql-dist:find-system system))))
(unless (null system)
(ql-dist:ensure-installed system)
(handler-case
(let* ((name (ql-dist:name system))
(system (asdf:find-system name)))
(format t "~&~60,,,'=<~; ~a ~;~>~@
~@[Author: ~a~%~]~
~@[Maintainer: ~a~%~]~
~@[Description: ~a~%~]~
~@[Long description:~@
~a~%~]~%"
name
(asdf:system-author system)
(asdf:system-maintainer system)
(asdf:system-description system)
(asdf:system-long-description system)))
(asdf:missing-component ())))))
答案 1 :(得分:1)
也许quickdocs可以在这里提供帮助。请注意,它不是由Zach Beane维护,而是由Eitaro Fukamachi维护,所以我不确定,这个文档是如何更新的。
答案 2 :(得分:0)
间接地,人们还可以参考项目/ $(项目名称)/source.txt下的公共GitHub项目quicklisp / quicklisp-projects来查看它是否被拉入。
反过来,这是实际存储库的git链接,通常有一些顶级文档。