Подтвердить что ты не робот

Требуют и * модули * устаревают вместе lisp?

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

(asdf: load-system: foo)

и под ABCL, Clozure CL, CMUCL, ECL и SBCL, он перехватывает cl: require. Так что cl: require кажется прекрасным.