В очередной раз настраивая ASDF под Windows для очередной реализации лиспа я полумал, почему же я в очередной раз это делаю? А если еще можно настроить ASDF-INSTALL, то почему никто до сих пор не автоматизировал этот процесс? Подумав еще, я решил таки заняться автоматизацией, в результате чего получилось
здесь.
Вкратце — это такой продвинутый аналог Lispbox, объединяющий под крышей Emacs/SLIME большинство широко-распространенных свободных реализаций Common Lisp для Windows, а так же Clojure и MzScheme (за время разработки последняя перестала существовать как отдельный продукт и припочковалась к Racket). Главным преимуществом его перед Lispbox можно считать возможность получить многопоточную реализацию CL для Windows (ClozureCL) с работающим ASDF-INSTALL, не прилагая никаких усилий по конфигурации, а кроме того, возможность завести ECL, не собирая его в очередной раз из исходников (правда, стабильно моя сборка ECL работает почему-то только под Windows XP). То есть, таким образом можно, например, без лишней головной боли отлаживать приложения в hunchentoot, который для комфортной работы требует многопоточности.
При создании Lisp Cabinet использовалась идеология "Emacs как ОС" — все дочерние процессы используют окружение Emacs, благодаря чему оказалось возможным сделать, например, так, что Emacs сам попытается найти директорию установки Visual Studio и прописать нужные для работы, используемого ECL компилятора C, переменные среды. Однако, как следствие, ни одна реализация Common Lisp не может работать за пределами Emacs без дополнительной конфигурации.
Следует так же отметить, что тестировалось все относительно поверхностно, поэтому не факт, что все будет безупречно работать (известно, что по крайней мере на JRE 1.6u11 у ABCL не работает ASDF-INSTALL), особенно, если пути директории установки и домашней директории будут содержать пробелы или кириллические символы (хотя Emacs, осознав, что был запущен на машине с русскими региональными настройками, будет пытаться вести себя максимально дружелюбно). То есть, продукт достаточно сырой, и был выложен в надежде на то, что будет кому-нибудь полезен в таком виде (впрочем, работает он относительно стабильно, по-моему).