Common lisp 如何在Quicklisp中获取软件包文档
每次使用Quicklisp时,我都感觉自己在玩彩票。我找不到包含包列表和文档的网页 作为一个具体的例子,我在CL中搜索了Common lisp 如何在Quicklisp中获取软件包文档,common-lisp,quicklisp,Common Lisp,Quicklisp,每次使用Quicklisp时,我都感觉自己在玩彩票。我找不到包含包列表和文档的网页 作为一个具体的例子,我在CL中搜索了(ql:system apropos“random access list”),因为If基于Okasakis纯功能数据结构。我尝试了以下方法: [1]> (ql:system-apropos-list "random-access-lists") (#<QL-DIST:SYSTEM random-access-lists / random-access-lists-
(ql:system apropos“random access list”)
,因为If基于Okasakis纯功能数据结构。我尝试了以下方法:
[1]> (ql:system-apropos-list "random-access-lists")
(#<QL-DIST:SYSTEM random-access-lists / random-access-lists-20120208-git / quicklisp 2016-03-18>)
[2]>
[1]>(ql:system-apropos列表“随机访问列表”)
(#)
[2]>
我知道名称随机访问列表
不是很具体,因此可能还有其他具有该名称的包。上次我运气不太好,找到了4个不完全匹配的包,而最匹配的包不是我要找的包
如何查找有关搜索结果的更多信息 也许能帮上忙。请注意,它不是由Zach Beane维护的,而是由Eitaro Fukamachi维护的,因此我不确定此文档的最新情况。一个有点黑客的解决方案是下载系统并使用
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 ())))))
(定义描述ql系统(系统)
let((系统)(如果)(类型P系统'ql区:系统)
系统
(ql区:查找系统)
(除非(空系统)
(ql区:确保已安装系统)
(处理程序案例)
(let*((名称(ql区:名称系统))
(系统(asdf:查找系统名称)))
(格式t“~&~60,,,”=~@
~@[作者:~a~%~]~
~@[维护者:~a~%~]~
~@[说明:~a~%~]~
~@[详细说明:~@
~a~%~]~%“
名称
(asdf:系统作者系统)
(asdf:系统维护者系统)
(asdf:系统描述系统)
(asdf:系统长描述系统)
(asdf:缺少组件(鼃()()))
间接地,您也可以参考projects/$(project name)/source.txt下的公共GitHub项目quicklisp/quicklisp项目,查看它从何处引入
这又是一个指向实际存储库的git链接,该存储库通常包含一些顶级文档。您确定Quickdocs只记录quicklisp包吗?有些软件包是用quicklisp安装的,我在问题中提到的那个只是指向同一个github页面的链接,我想知道它和同名的quicklisp软件包是一样的。