У меня есть довольно вовлеченный модуль LispWorks Common Lisp, который находится над некоторыми модулями .NET через RDNZL.
Мне пришло в голову, что мне нужно предоставить некоторые его функции другим приложениям .NET, и яЯ не уверен, лучший (самый короткий) способ приблизиться к этому без переписывания модуля в C #.Я знаю, что есть несколько реализаций CLR Lisp, но большинство из них кажутся незавершенными или неполными, и есть много вещей, которые не могут быть тривиально переписаны на схеме.NET -> Common Lisp)?Могу ли я использовать RDNZL для доставки библиотеки DLL, которая принимает объекты .NET?
Я редактирую это, чтобы включить некоторые параметры, о которых большинство пользователей, заинтересованных в Лиспе, вероятно, узнают, находятся ли они в Windows,и почему они не совсем соответствуют вышеуказанным требованиям (или как, как и ваши пользователи, я не смог адекватно передать свои требования:).
- IronScheme - Хороший, быстрый, поддерживаемый и быстрый, но этоне общий Лисп
- ClojureCLR - Не общий Лисп;Бета, мне требуется ~ 4 сек для запуска (приемлемо для долго работающих приложений, а не для вещей, которые требуют новых экземпляров, а затем несколько десятков вызовов)
- LSharp - Not Common Lisp, не поддерживается
- RDNZL - Позволяет регистрировать делегатов обратного вызова CL с кодом .NET, но начинать нужно с CL, нет относительно простого способа (который я до сих пор мог выяснить) передавать объекты .NET в "C"DLL ", созданная выбранной вами реализацией Common Lisp.
- Yarr - построен на основе LSharp (включает defmacro и некоторые другие необходимые компоненты).Выглядит неокрепшимся в течение некоторого времени, но может быть лучшим вариантом на данный момент.