LINUX.ORG.RU

Странно, конечно, что без предупреждения и обновления достаточно известной (наверно) книжки произошло такое изменение, потому что раньше этот код вроде бы работал. Сейчас нужно использовать easy-acceptor вместо acceptor.

naryl ★★★★★
()
Последнее исправление: naryl (всего исправлений: 2)
Ответ на: комментарий от naryl

Спасибо, с easy-acceptor работает. Заменил также по ссылке. Там раньше было так:

(defun start-server (&key (port 4242))
  (start (make-instance 'acceptor :port port)))

А есть в Lisp-e средства управления зависимостями с поддержкой версий? Ну скажем я 2 года назад написал веб приложение на hunchentoot c acceptor и чтобы сейчас его можно было развернуть с той же версией без танцев с бубном.

Аналогов Ruby gems + bundler я так понимаю нету?

dr_jumba
() автор топика
Ответ на: комментарий от dr_jumba

Если расскажете что такое bundler и ruby gems, то я отвечу насколько им соответствует quicklisp. Другого ничего нет.

Версии зависимостей, к сожалению, asdf не поддерживает, а quicklisp использует его описания систем. Поэтому эта фича должна быть реализована в двух пакетах сразу, один из которых отличается сильной консервативностью. Вроде разговоры про это были, но asdf не скоро пошевелится.

naryl ★★★★★
()
Ответ на: комментарий от naryl

Это из мира Ruby. Если вкратце, gem - это библиотека. Можно описать сборку, зависимости, указать версию. В комплекте инструменты для сборки, установки. bundler - менеджер управление гемами для приложения. Можно указать гем, точную версию или минимальную, группировать их (production, test, ...). И в приложении будут доступны только соответствующие гемы.

dr_jumba
() автор топика
Ответ на: комментарий от naryl

Версии зависимостей, к сожалению, asdf не поддерживает

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

С другой стороны, никто не мешает скопировать пакет нужной версии и выложить его под именем package-version (например hunchentoot-1.0.0) с соответствующей заменой в defpackage, defsystem и in-package. Тогда можно будет в зависимостях указывать типа (:depends-on :hunchentoot-1.0.0)

monk ★★★★★
()
Ответ на: комментарий от dr_jumba

И в приложении будут доступны только соответствующие гемы.

В крупных проектах на Lisp, что я видел, просто клали все зависимости в состав пакета.

monk ★★★★★
()
Ответ на: комментарий от monk

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

Для ещё не обновлённого кода было бы полезно выкачивать репозиторий квиклиспа по состоянию на какой-то месяц. Пакеты в квиклиспе то друг с другом все проверяются и там даже практического смысла в версиях нет, но им одним мир не ограничивается. :)

naryl ★★★★★
()
Ответ на: комментарий от naryl

А разве можно у квиклиспа за какой-то месяц выкачать? Там вроде на сервере только последние хранятся. Или я чего-то не знаю?

А если брать последний срез, так почти с тем же успехом можно из гитхаба брать. Используемых бибилиотек в проекте немного, протестировать на совместимость и самому можно. А вот дальше всё равно или отслеживать upstream или копировать нужную версию к себе.

С другой стороны, для живого продукта есть смысл привязываться к древней версии? Вот напишу я программу на C и укажу, что для неё требуется glibc 2.1.1. Это кому-то позволит её собрать на современном линуксе?

monk ★★★★★
()
Ответ на: комментарий от monk

Так изначальный вопрос как раз о древней версии. Я бы себе поставил hunchentoot нужной версии и не ломал себе голову о том, растут руки из нужного места или с Лиспом что-то не так.

Промышленный вариант. Некто Вася Скобкин написал сайт на лиспе 2 года назад. Но hunchentoot в репозиторий не положил, дал ссылку где скачать. Я взял его исходники и у меня ничего не работает.

dr_jumba
() автор топика
Ответ на: комментарий от monk

А разве можно у квиклиспа за какой-то месяц выкачать?

Нет, но *было бы полезно* в некоторых случаях.

С другой стороны, для живого продукта есть смысл привязываться к древней версии?

Нет, но иногда приходится использовать мёртвые продукты.

naryl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.