require и * modules * устарели в общем lisp? - PullRequest
10 голосов
/ 02 июля 2010

Common Lisp HyperSpec говорит, что требуют , и **** модули **** устарели.

Но я все еще вижу, что мы используем требуют все время.Что мы должны использовать?

Ответы [ 2 ]

12 голосов
/ 02 июля 2010

Они давно устарели.Стандарт был опубликован в 1994 году. Каковы были последствия? Нет , поскольку новый стандарт не был опубликован и новый стандарт не разрабатывается.

Итак, если ваши реализации Common Lisp предоставляют полезное определение и реализацию PROVIDE, REQUIREи * MODULES *, затем используйте его.

Существуют и другие инструменты, которые заботятся о загрузке и создании библиотек и приложений (обычно называемых «Системами»).Часто они имеют какой-то интерфейс, так что (REQUIRE 'SOME-SYSTEM) загружает эту систему и чтобы после загрузки этой системы она была "предоставлена".

4 голосов
/ 07 июля 2010

ASDF представляется довольно популярным и современным способом загрузки систем.

для загрузки foo:

(asdf: load-system: foo)

и в ABCL, Clozure CL, CMUCL, ECL и SBCL,он подключается к cl: require.Итак, cl: require выглядит нормально.

...