define-package
在带有 ASDF 的 Common Lisp 中, inuiop/package
和defpackage
宏有什么区别?
问问题
189 次
1 回答
1
UIOP 的条款更多。
https://common-lisp.net/project/asdf/uiop.html#UIOP_002fPACKAGE
define-package 支持以下关键字:use、shadow、shadowing-import-from、import-from、export、intern——根据 cl:defpackage。
这些是相同的。但是文档字符串的其余部分介绍了更多:recycle
, mix
, reexport
...</p>
我使用reexport
了它使以下操作变得更容易:您不想完全use
打包 A(例如,Alexandria)。您想导入几个符号(简单,用import-from
),还想导出它们(也很简单,用export
)。但这样做时,您必须写两次符号。reexport
节省重复。
我听到有人抱怨 defpackage 在某些情况下无法重新加载包,而 define-package 工作正常,但我没有遇到这种情况。
于 2020-10-26T11:35:39.297 回答