ADN Club > AutoLisp / VisualLISP и DCL
О расширении LISP функционала при помощи .NET и ARX
Дима_:
Я не голосовал т.к. трудно подобрать ответ из предложенных. Ради облегчения, "жизнепроцесса", когда это было возможным частенько "мешал мух с котлетами" - ибо так получаеться продуктивней всего, но если понимаю, что количество .Net'а переходит определенный порог - то тогда и мешать смысла нет. В последнее время, я сразу проговариваю заказчику, что есть два варианта можно на лиспе (тогда ....), а можно и не на лиспе (и тогда...) - выбирайте сами. У меня, лентяя, руки не доходят доделать хотя-бы до "бетки" расширение автолиспа для загрузки .Net сборок и работы с ними через REPL (хотя фактически я уже несколько раз его использовал в "сыром виде"). Не хочеться выкладывать в том убогом виде, как оно есть сейчас - сейчас это близкий аналог того как реализованн COM - есть функции для вызова методов и получения свойств + придуман метод взаимодействия лисп кода с событиями (кривой как моя жизнь, но "косяков" пока не выявленно) с "имитацией" замыканий функций обработчиков. Хочеться довести его до нормального вида. То есть дописать парсер который выражения типа
--- Код: ---(MessageBox*Show "Привет медвед")
--- Конец кода ---
- автоматически переводил в
--- Код: ---(net-sm "MessageBox" "Show" "Привет медвед")
--- Конец кода ---
- звездочку вместо точки использую т.к. в лиспе она зарезервированна под пару - но т.к. синтаксис на другие вещи (события в частности) "гораздо веселей" то и для перевода элементарного
--- Код: --- (f*Resize '(net-sp tb*Size f*ClientSize)
--- Конец кода ---
в
--- Код: --- (net-event f "Resize" nil '(net-sp *tb "Size" (net-gp *f "ClientSize")))
--- Конец кода ---
- который на данном этапе рабочий - надо лезть в семантику,смотреть что сейчас "выполняеться", какие имена "замыкать" (то что на выходе помеченно звездочкой ) и куча чего еще - лень непобедимая, да еще и упирающиеся в косяки особенности автолиспа.
з.ы. если кому интересно поучаствовать в допиливании сего инструмента - с удовольствием поделюсь\посоветуюсь - а то честно говоря забросил уже давно, а сил и мотивации (не коммерческой, а в принципе) для "доделки" просто не хватает.
Ушел от основного вопроса - сама идея наделать "основных нашлепок" под автолисп мне кажется утопична, да и не правильна по сути своей - какая сборка (класс) понадобится завтра предсказать невозможно, а если смотреть только на т.н. основные инструменты - без изысков - то они и так есть в штатном исполнении автолиспа.
Навигация
Перейти к полной версии