среда, 18 марта 2009 г.

Решил пободаться с Hunchentoot'ом

У меня на моем макбуке стоит SBCL, LispWorks Personal, Allegro CL Express, Clozure CL.
Hunchentool решил ставить на SBCL, так как все связанное с ASDF там уже идет в комплекте и настроено. Кажется Hunchentoot нормально не работает из-за того, что SBCL собран без поддержки нитей (из macports). Пробую теперь Clozure CL - там еще надо разобраться с ASDF.

Вообще обилие реализаций Common Lisp не раздражает, как в Scheme, где они все совешенно не похожи друг на друга, а даже наоборот - есть из чего выбирать.

понедельник, 16 марта 2009 г.

Пакеты, файлы, зависимости

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

суббота, 7 марта 2009 г.

Мда, не всегда все просто

Python 3.0:

with open("/tmp/file.txt") as f:
for line in f:
print(line)


Common LISP:

(with-open-file (f #p"/tmp/file.txt")
(loop for line = (read-line f nil)
while line
do (print line)))

CLOS и окошки!

Читаю Keene S.E. Object Oriented Programming in Common Lisp. Как же надоело что во всех книжках по ООП в качестве примеров - окна! Напоминает времена когда каждый студент считал своим долгом написать под DOS'ом свою оконную систему.

вторник, 3 марта 2009 г.

AllegroCache

Одна из причин нового всплеска моего интереса к ЛИСПу - это существование такой штуки как AllegroCache. Писал о не длинный пост, но он куда-то пропал и не опубликовался, второй раз облом. Но в кратце - существуют всякие объектные базы данных, но фактически это какой-то нижний уровень, обеспечивающий ACID и базовые операции хранения данных (что-то вроде Berkley DB) с навернутыми сверху механизмами сериализации/десериализации классов в данном конкретном языке. При этом есть еще индексы и прочее. Вобщем - доступ к таким данным - это типичная задача для DSL. Хотя разработчики AllegroCache пошли дальше ии внедрили такой persistence непосредственно в CLOS.

Изучаем ЛИСП

Меня уже довольно давно интересует ЛИСП. Я уже успел прочитать SICP, и даже проработать большинство упражнений. Теперь хочется перейти к Common LISP'у, и отмечать в этом блоге свой прогресс. Цель - писать еженедельно какую-то маленькую программку, хоть задачку какую-то. Очень хочется также применения лиспа к более менее реальным задачам.