在常见的lisp中不推荐使用require和* modules *?

时间:2010-07-02 09:11:16

标签: lisp common-lisp

Common Lisp HyperSpec表示 需要 和****模块****已弃用。

但我仍然看到我们一直使用 要求 。我们应该使用什么?

2 个答案:

答案 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:要求似乎很好。