在common lisp中不推荐使用require和*modules*?

在common lisp中不推荐使用require和*modules*?,lisp,common-lisp,Lisp,Common Lisp,表示不推荐使用require和****模块**** 但我仍然看到我们一直在使用require。我们应该用什么?它们很久以前就被弃用了。该标准于1994年发布。后果是什么无,因为没有发布新标准,也没有制定新标准 因此,如果您的通用Lisp实现提供了对提供、要求和*模块*的有用定义和实现,那么就使用它。 还有其他一些工具关心加载和创建库和应用程序(通常称为“系统”)。通常这些系统都有某种接口,因此(需要“某些系统”)加载该系统,并在加载该系统后“提供”该系统。似乎是加载系统的一种非常流行和现代的方式

表示不推荐使用require和****模块****


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

它们很久以前就被弃用了。该标准于1994年发布。后果是什么,因为没有发布新标准,也没有制定新标准

因此,如果您的通用Lisp实现提供了对提供、要求和*模块*的有用定义和实现,那么就使用它。

还有其他一些工具关心加载和创建库和应用程序(通常称为“系统”)。通常这些系统都有某种接口,因此(需要“某些系统”)加载该系统,并在加载该系统后“提供”该系统。

似乎是加载系统的一种非常流行和现代的方式

要加载foo:

(asdf:加载系统:foo)


在ABCL、Clozure CL、CMUCL、ECL和SBCL下,它与CL:require挂钩。所以cl:require看起来不错。

非常感谢。一个小问题。规范只是弃用了一些东西而没有提供替代品,这不是很奇怪吗?@yehnan,有时候你会意识到所描述的功能不是很有用或者缺乏细节,但是没有意愿或能力指定更好的功能。标准委员会讨论了几个扩展领域,但都失败了,没有了动力,没有了资金,没有了利益相关方……是否有一些他们认为应该替换的文档?他们想最终采用ASDF风格的系统吗?@omouse:“模块”是不需要更换的,AFAIK。请参阅:。还建议增加一个系统设施,例如Kent Pitman: