← Архив: Common Lisp

Анонс. Устройство ASDF.

Author: · 17.10.2011 05:15
· original author: LinkFly
    Планирую опубликовать в своём блоге большой цикл статей
· original author: LinkFly
    Планирую опубликовать в своём блоге большой цикл статей о внутреннем устройстве ASDF (статьи автоматически попадут в Russian Lisp Planet) Этот цикл весьма специфичен и будет отличается очень подробным, практически "пошаговым", объяснением логики работы главных частей ASDF. Статьи на любителя и представляют собой "творческий эксперимент", но надеюсь что они найдут своего читателя и будут в чём-то полезны.
    Почему это вообще может быть интересно? Дело в том, что ASDF это уже давно, фактически, стандарт описания библиотек в эко-системе CL. ASDF входит в штатную поставку лисп-системы SBCL (и наверняка не только), в коммерческой IDE LispWorks 6-ой версии появились инструменты для работы с ASDF-системами, а набирающая (скорее уже набравшая) популярность библиотека quicklisp (заменяющая устаревшую asdf-install) использует систему ASDF как основу для поставляемых библиотек. И конечно же ASDF войдёт в стандарт cltl3 в далёком-светлом будущем:) То есть это совершенно "фундаментальная" вещь (разумеется после самого CL и лисп-системы).
· original author: vseloved
В прошлом году написал 3 статьи об ASDF (изначально планировал 5, но поскольку ASDF пошел немного в другом направлении, чем я предполагал, необходимость в остальных отпала): http://lisp-univ-etc.blogspot.com/2010/08/asdf.html, http://lisp-univ-etc.blogspot.com/2010/07/asdf.html, http://lisp-univ-etc.blogspot.com/2010/06/asdf-2.html.Можно использовать части из них.
· original author: bach74
Думается, что на смену asdf скоро придет  http://common-lisp.net/project/xcvb/
· original author: archimag
> Думается, что на смену asdf скоро придет  http://common-lisp.net/project/xcvb/
Нет, не придёт. Без шансов.
· original author: bach74
Обоснуй. Кажется, что все-таки пилят.
· original author: vseloved
XCVB vs ASDF: эти системы решают немного разные задачи. Да и есть проблема курицы и яйца.Да и, вообще, ASDF — клевый, на нем работает Quicklisp ;) Единственное, чего не хватает, это указания версий в зависимостях, но с этим более-менее можно жить.
· original author: bach74
asdf клевая вещь, конечно, но xcvb является более общей системой и почитайте о преимуществах
http://common-lisp.net/project/xcvb/doc/xcvb.html#benefits-and-rationale
· original author: LinkFly
Про 3 статьи в курсе конечно же и на них будут ссылки=)
· original author: archimag
> Обоснуй. Кажется, что все-таки пилят.
Пилят, но пилят в интересах ITA. В ITA  из исходных кодов делают бинарники. Для это и предназначен XCVB - для максимального контролируемого и надёжного процесса создания бинарников из исходников.
Лично мне нужно совершенно другое - мне нужно просто загрузить код в образ. И именно это и делает ASDF. Я пару раз смотрел на XCVB и не смог понять как бы я мог использовать его с пользой для себя.
· original author: LinkFly
XCVB строится над ASDF.
· original author: archimag
> XCVB строится над ASDF.
Нет )
· original author: LinkFly
Ну как нет, asdf ведь присутствует в зависимостях xcvb. Или оттуда просто берут какие-то утилиты?
· original author: archimag
XCVB воспринимает ASDF как временное зло, которое надо пережить )
· original author: bach74
>Я пару раз смотрел на XCVB и не смог понять как бы я мог использовать его с пользой для себя
Т.е. с помощью его нельзя загрузить код в образ? Т.е. только для деплоймента?  Тогда плохо.
Хотя надо будет посмотреть более пристально. Возможно, что еще не все реализовали.
· original author: bach74
Я так понимаю, xcvb должен вопринимать asdf файлы и вроде как в будущем должно быть обратное