Итак... пытаясь использовать существующие диски, а не изобретать свои собственные на каждом шагу, я пытался создать приличную среду Common Lisp, работающую с [конкретной библиотекой Java]. Мои приключения ABCL на самом деле прошли достаточно хорошо, и я смог, в конечном итоге, получить ABCL красиво и приятно. Конечно, я хотел больше, чем просто, я хотел, чтобы интероперабельность между ним и моим полукруглым колесом, chemicl, пакетом cheminformatics, который я начал писать в Common Lisp. Здесь поезд начал падать с трасс.
ABCL и cxml-stp
A назад, в более ранней, прерванной попытке получить некоторые из моих химических/биоинформатики (https://github.com/slyrus/cl-bio), работающих с ABCL, я заметил, что plexippus-xpath не может быть загружена в ABCL. Это было исправлено, поэтому мне было предложено, чтобы с ABCL могли работать вещи. Однако cxml-stp, похоже, нарушает ABCL.
Надеюсь, это исправляемая ошибка, и некоторая будущая версия ABCL будет работать с cxml-stp.
Тем временем...
Другие CL и Java
Итак, я решил, что попробую другие подходы к тому, чтобы Java и реализация Common Lisp играли хорошо. Я знаю, вы думаете: "Почему чувак просто не использует clojure? В конце концов, для чего был разработан clojure!" Ну, это хороший вопрос. Я использовал clojure для некоторых ранних исследований с [этой библиотекой Java], и, хотя интеграция Java вообще работает хорошо, у меня есть куча существующего кода Common Lisp, который я бы хотел использовать, и, в то время как минимум, он выглядел как все обертки clojure, где тонкие обертки вокруг уродливых библиотек Java. Я вырос, чтобы знать и любить многие Common Lisp библиотеки, многие из которых хорошо доступны в QuickLisp, и я хотел бы иметь возможность использовать их (такие, как cxml-stp, plexippus-xpath, opticl и т.д...).