Самый быстрый способ в Ubuntu - использовать пакеты, включенные в этот дистрибутив. Это нормально, если вы просто хотите попробовать что-то, но эти версии часто сравнительно старые. Я бы порекомендовал пакеты sbcl
и slime
. Если вы еще не знаете emacs, вы можете быстро освоить его с помощью встроенного руководства (C-h t
(нажмите Control-h, отпустите, затем нажмите t)).
Затем вы можете запустить emacs, запустить slime (через M-x slime
), открыть файл lisp (C-x C-f ~/lisp/first-try.lisp
), и вы готовы к работе. Как учебник для Lisp, я думаю, что Practical Common Lisp - очень хорошая книга, и она в свободном доступе.
Теперь, когда вы стали похожими на Лисп, вы можете захотеть получить более свежие пакеты. Я бы рекомендовал использовать для этого clbuild (дополнительную информацию см. По ссылке, включая FAQ). Затем вы также можете создать новый sbcl (загруженный версией дистрибутива).
ASDF , кстати, является лишь средством определения системы. Он не знает, как загружать пакеты, он только знает, как загрузить системы в работающий образ Lisp. Другими словами, он просто решает проблему автоматической загрузки нескольких файлов, из которых состоит некоторая «система» (библиотека), в правильном порядке. Новейшие версии позволяют загружать пакет (после его установки, например, через clbuild) с помощью простого
(asdf:load-sys 'foo)
В старых версиях показана внутренняя концепция операций ASDF:
(asdf:operate 'asdf:load-op 'foo)
Вышеуказанное load-sys
является сокращением для этого общего случая использования. Дополнительную информацию (можно сказать, все, что вам нужно о ней знать) можно найти в руководстве ASDF Getting Started . ASDF также включен в SBCL.
Когда вы загружаете исходный файл, он автоматически компилируется (генерирует .fasl
файлов (быстрая загрузка)), так что в следующий раз загрузка будет намного быстрее.