2016-08-12 5 views
0

У меня возникли проблемы с началом работы с ASDF и Common Lisp.Начало работы с управлением пакетами ASDF и Common Lisp

Как я могу получить минимальный пример работы?

+0

Существует [пример] (https://stackoverflow.com/documentation/common-lisp/670/asdf-another-system-definition-facility/2183/simple-asdf-system-with-a-flat -каталог-структура # t = 20160813133545521621) в разделе документации. – jkiiski

ответ

1

Чтобы ответить на мой собственный вопрос: "Hello World!"

Итак, как сделать ваш с системой построения ASDF? Вот что сработало для меня. Я позабочусь о том, чтобы сэкономить много времени на ловушках, в которые я попал.

Смотреть video. Он объясняет установку sbcl, emacs, quicklisp (менеджер библиотеки Лиспа), slime и quickproject, который устанавливает проект с ASDF.

Теперь в сторону шаг несколько ловушек:

  • slime не похоже на работу с clisp. Мне пришлось использовать scbl. Заметьте, я на ubuntu 16.04.
  • У вас должен быть ваш файл .asd по пути вашей системы ASDF. Вы можете выполнить это, работая в ~/common-lisp/; если у вас его нет, вы можете это сделать. См. here для настройки ASDF для просмотра в других каталогах.
  • После того как вы построили систему, загрузите систему с помощью (asdf:load-system :<system>). Кроме того, для доступа к функциям в другом пакете используйте следующий синтаксис: (<package>::<function> ...).

Счастливое кодирование.


Для ВИМ пользователей:Emacs и Lisp, в частности, с quicklisp и emacs «S менеджер пакетов, это прекрасное сочетание. Вероятно, потому что Emacs написан на Lisp. Я вижу значение этого. Но я - пользователь vim. Мне было приятно найти Evil, отличный слой vim для emacs. Посмотрите на этот 4 minute video, который произвел на меня впечатление. Кроме того, here - это сообщение другого пользователя vim, устанавливающего его для того, чтобы быть как его окружение vim, лучше в некоторых случаях. Теперь я думаю, что комбинация emacs и vim лучше, чем любая другая альтернатива.

+0

'ПАКЕТ :: СИМВОЛ' означает, что вы получаете доступ к внутреннему символу в пакете. Вы должны экспортировать любые символы, предназначенные для использования вне пакета (тогда их можно использовать только с одним двоеточием «ПАКЕТ: СИМВОЛ»). Экспорт выполняется путем добавления '(: export #: symbol1 ... #: symboln)' к вашему 'DEFPACKAGE'. – jkiiski

+0

Gotcha, спасибо. – audrow