Несколько месяцев назад я был вдохновлен великолепной книгой язык Common LISP ANSI, записанный Paul Graham и оператором, что Lisp мог использоваться в качестве секретного оружия в Вашей веб-разработке, опубликованной тем же автором на его блоге. Ничего себе, это удивительно. Это - что-то, что я искал долгое время. Автор действительно разработал успешную сеть applcation и продал ее Yahoo.
С теми, которые поощряют изображения, я решил проводить некоторое время (1 год или 2-летний, кто знает) при изучении языка Common LISP. Возможно, когда-нибудь я буду разработка мое веб-приложение и превращаться в великого эксперта Lisp. На самом деле это - второй раз для меня для получения для изучения Lisp. Первый раз был несколько лет назад, когда я был очарован известной книгой SICP, но найден, более поздняя Схема была так невероятно незрелой для реального применения.
После чтения некоторых глав языка Common LISP ANSI я был вполне уверен, который является замечательной книгой, полной подробного исследования языка Common LISP. Затем я начал настраивать веб-сервер в языке Common LISP. В конце концов, это должно быть лучшим способом, если Вы хотите изучить что-то. Демонстрации всегда лучше, чем определения.
Как предложено книгой Практический язык Common LISP (между прочим, это - также замечательная книга), я принял решение установить AllegroServe на некоторой реализации языка Common LISP. Затем от где-то в другом месте, я узнал, что Hunchentoot, кажется, лучше, чем AllegroServe. (Я не помню, от где и кого это слово. Не спорите со мной.)
Как ни странно, Вы знаете то, что, я никогда не мог, установил эти два пакета на любой реализации языка Common LISP. Более раздражающе я даже не знаю почему. Машина всегда слюна много жаргона и приводит меня в хаос. Я попытался искать Интернет и ничего не нашел.
Мог кто-либо, кто успешно установил эти пакеты в Linux, говорят мне, как Вы сделали это? Вы столкнулись с проблемой? Как сделал Вас вычисленный что не так и зафиксировал его? Чем более подробный, тем более полезный.
Вы пробовали эти инструкции ?
У меня уже была работающая установка SBCL, поэтому я выполнил только вторую половину инструкций. Он устанавливает очень минимальное веб-приложение, поэтому вы можете увидеть, как структурировать собственное веб-приложение.
Эти инструкции могут быть не совсем тем, что вы ищете - они предназначены для настройки веб-сервера (в Ubuntu) с удаленным взаимодействием с emacs / SLIME, но я полагаю, что «удаленное взаимодействие» может быть таким же ну значит localhost.
Пол Грэм, для начала: -)
Я тоже обнаружил, что Common Lisp проделал большую работу, чтобы пройти первый шаг. Окружающая среда ужасна, когда вы только начинаете, нет четкого Единого Истинного Пути, чтобы добраться до точки, где вы можете вставить какой-то код и увидеть некоторые результаты (как, например, с Python). Как и вы, я потратил много времени, перескакивая с одной реализации на другую. Итак, мой совет:
Я предлагаю вам просто выбрать один и игнорировать все остальные советы, пока вы не добьетесь успеха.
Если вы не в настроении, просто скачайте Apache и напишите немного PHP: -)
По сути, эти шаги по установке взяты из этой статьи Простое веб-приложение на Лиспе для начинающих , рекомендованное Фрэнком Шеараром (еще раз спасибо). Но я не выполнил точных шагов, потому что (1) я хотел бы установить Common Lisp с локальным пользователем; (2) Я не знаком с некоторыми вещами, упомянутыми автором. Вы можете ознакомиться с оригинальной статьей или просто подписаться на меня здесь. Боюсь, моим инструкциям гораздо легче следовать. :)
Перед установкой необходимо загрузить три пакета. Бинарные и исходные пакеты sbcl можно загрузить здесь , а пакет smanek можно загрузить здесь .
sbcl-1.0.38-x86-linux-binary.tar.bz2
sbcl-1.0.38-source.tar.bz2
smanek-trivial-lisp-webapp-3681c1
Примечание. номер версии мог измениться, когда вы увидели это эссе. Так что не беспокойтесь о получении точных пакетов. Однако это правильные пакеты, работающие для меня.
Вот что я делаю ( заменяю YOURPATH на ваш реальный путь, и я предполагаю, что вы используете BASH ):
1. Установите двоичный пакет sbcl
tar jxf sbcl-1.0.38-x86-linux-binary.tar.bz2
cd sbcl-1.0.38-x86-linux
INSTALL_ROOT=YOURPATH sh install.sh
cd ..
Итак, двоичный пакет sbcl установлен. Когда программа установки сообщает что-то вроде «руководство не найдено», это нормально, так как руководство не включено в двоичный пакет. Будь как будет.
2. Установите ПУТЬ и SBCL_HOME
export PATH=YOURPATH/bin/:$PATH
export SBCL_HOME=YOURPATH/lib/sbcl/
3. Установите исходный пакет sbcl
tar jxf sbcl-1.0.38-source.tar.bz2
cd sbcl-1.0.38
sh make.sh
export SBCL_HOME=''
INSTALL_ROOT=YOUROTHTERPATH sh install.sh
cd ..
ПРИМЕЧАНИЕ. Возможно, вам потребуется указать другой каталог для установки, иначе он будет установлен в тот же каталог, в котором находится двоичный файл sbcl.
4. Установите ПУТЬ и SBCL_HOME
export PATH=YOUROTHERPATH/bin/:$PATH
export SBCL_HOME=YOUROTHERPATH/lib/sbcl/
5. Установите пакет smanek
unzip smanek-trivial-lisp-webapp-36816c1.zip
cd smanek-trival-lisp-webapp-36816c1
cd scripts
./startserver.sh
Когда он говорит «Веб-сервер запущен на порту 8080», вы можете посетить « http: // localhost: 8080 » в своем веб-браузере. Он там, правда?
6. Несколько примечаний