oak*_*ld1 1 packages common-lisp quicklisp
每次我通过Quicklisp安装系统时,我总会发现自己正在搜索基本软件包的名称,普通用户会感兴趣,因为它会导出要播放的"最终产品"API.因此,任何人都需要知道它的名字并在REPL上发出命令:
(use-package :package)
Run Code Online (Sandbox Code Playgroud)
为了在REPL上玩它.
是否有一种快速简便的方法来确定由Quicklisp加载的系统所包含的软件包,而无需搜索过时的文档.
您可以列出所有包裹LIST-ALL-PACKAGES.
如果在加载软件之前和之后保留它们,可以比较它们.
CL-USER 14 > (setf *print-length* 10)
10
CL-USER 15 > (list-all-packages)
(#<The SQL-COMMON package, 0/4 internal, 28/32 external> #<The QL-LISPWORKS package, 0/16 internal, 5/16 external> #<The QL-SETUP package, 25/32 internal, 3/16 external> #<The QL-ALLEGRO package, 0/16 internal, 6/16 external> #<The QL-DIST package, 110/256 internal, 81/256 external> #<The COMM package, 1053/4096 internal, 949/1024 external> #<The MP package, 921/1024 internal, 209/256 external> #<The REG package, 41/64 internal, 0/4 external> #<The LOOP package, 247/256 internal, 3/4 external> #<The QL-DIST-USER package, 0/16 internal, 0/16 external> ...)
CL-USER 16 > (defpackage "FOO")
#<The FOO package, 0/16 internal, 0/16 external>
CL-USER 17 > (list-all-packages)
(#<The SQL-COMMON package, 0/4 internal, 28/32 external> #<The QL-LISPWORKS package, 0/16 internal, 5/16 external> #<The QL-SETUP package, 25/32 internal, 3/16 external> #<The QL-ALLEGRO package, 0/16 internal, 6/16 external> #<The QL-DIST package, 110/256 internal, 81/256 external> #<The COMM package, 1053/4096 internal, 949/1024 external> #<The MP package, 921/1024 internal, 209/256 external> #<The REG package, 41/64 internal, 0/4 external> #<The LOOP package, 247/256 internal, 3/4 external> #<The QL-DIST-USER package, 0/16 internal, 0/16 external> ...)
CL-USER 18 > (set-difference * ***)
(#<The FOO package, 0/16 internal, 0/16 external>)
Run Code Online (Sandbox Code Playgroud)
所以你发现两个软件包列表之间有一个软件包FOO介绍.
另请注意,这USE-PACKAGE不一定是有用的.USE-PACKAGE将导出的符号导入当前包中.这可能有效,也可能无效.它可能导致任意符号名称冲突.
| 归档时间: |
|
| 查看次数: |
172 次 |
| 最近记录: |