uiop / package:define-package和defpackage之间的区别?

时间:2020-10-26 03:18:18

标签: lisp common-lisp asdf uiop

在带有ASDF的Common Lisp中,define-package中的uiop/packagedefpackage宏之间有什么区别?

1 个答案:

答案 0 :(得分:1)

UIOP的其中有更多子句。

https://common-lisp.net/project/asdf/uiop.html#UIOP_002fPACKAGE

define-package支持以下关键字:use,shadow,shadinging-import-from,import-from,export,intern-按照cl:defpackage。

那些是相同的。但是其余的文档字符串引入了更多信息:recyclemixreexport

我使用了reexport,这使以下操作变得容易:您不想完全use打包A(例如Alexandria)。您想导入几个符号(使用import-from轻松),也想导出它们(使用export轻松导入)。但是这样做时,您必须将符号写两次。 reexport保存重复项。

我听到有人抱怨defpackage在某些情况下将无法重新加载软件包,并且define-package可以正常工作,但是我没有遇到这种情况。