Lisp “uiop/package:define package”和“defpackage”之间的区别?

Lisp “uiop/package:define package”和“defpackage”之间的区别?,lisp,common-lisp,asdf,uiop,Lisp,Common Lisp,Asdf,Uiop,在使用ASDF的常见Lisp中,uiop/package中的define package与defpackage宏之间的区别是什么?uiop的一个有多个子句 define包支持以下关键字:use、shadow、shadowing导入自、导入自、导出、intern——根据cl:defpackage 那些是一样的。但是docstring的其余部分引入了更多的代码:回收,混合,重新导出 我使用了reexport,这使得以下内容更容易:您不想完全使用包A(例如,Alexandria)。您需要导入两个符号

在使用ASDF的常见Lisp中,
uiop/package
中的
define package
defpackage
宏之间的区别是什么?

uiop的一个有多个子句

define包支持以下关键字:use、shadow、shadowing导入自、导入自、导出、intern——根据cl:defpackage

那些是一样的。但是docstring的其余部分引入了更多的代码:
回收
混合
重新导出

我使用了
reexport
,这使得以下内容更容易:您不想完全
使用
包A(例如,Alexandria)。您需要导入两个符号(简单,使用
import from
),还需要导出它们(简单,使用
export
)。但是在这样做的时候,你必须写两次符号<代码>重新导出
保存重复


我听到一些抱怨,说defpackage在某些情况下无法重新加载包,并且define package工作正常,但我没有遇到这种情况。

感谢您的全面回答!