Common Lisp HyperSpec表示 需要 和****模块****已弃用。
但我仍然看到我们一直使用 要求 。我们应该使用什么?
答案 0 :(得分:12)
他们很久以前就被弃用了。该标准于1994年出版。后果是什么? 无,因为没有新标准发布且没有新标准正在制定中。
因此,如果您的Common Lisp实现提供了PROVIDE,REQUIRE和* MODULES *的有用定义和实现,那么请使用它。
还有其他工具关心加载和创建库和应用程序(通常称为“系统”)。通常它们具有某种接口,因此(REQUIRE'SONOME-SYSTEM)加载该系统,以便在加载该系统后它已被“提供”。
答案 1 :(得分:4)
ASDF似乎是一种非常流行和现代的加载系统方式。
加载foo:
(asdf:load-system:foo)
在ABCL,Clozure CL,CMUCL,ECL和SBCL下,它挂钩到cl:require。所以cl:要求似乎很好。