November 28th, 2013

Embeddable CL(2)

Хохо, оно в самом деле позволяет! я весьма далёк от того, чтобы считать себя лиспером, поэтому восторгаюсь каждой мелочи.

Короче, при помощи ECL можно сделать вот так вот: написать сишную программу, внутри которой будет жить лисп-окружение, способное выполнять CL-скрипты и загружать скомпилированные .FASы, а также (TADA.WAV) вызывать "как родные" сишные функции. Разумеется, не всё идеально - вызывать можно не вообще любые функции, а либо должным образом оформленные (пример см. ниже), либо через FFI, что несколько загромождает схему.

Однако, раньше я изредка (очень редко) баловался ассемблерными вставками в код на Си. Теперь буду баловаться (может, когда-нибудь и всерьёз начну) встроенным лиспом.

А выглядит всё это примерно так:
Collapse )

И что самое главное, всё это безобразие работает на ARMе. Мне удалось подключить apt на Cubieboard2 через прокси (для чего пришлось скачать и собрать некий прокси для прокси, оборачивающий аутентификацию), ECL установился из репозитория простейшим способом.

Не знаю, что из этого выйдет, но изучать это мона и нуна!

P.S. печально только, что мануал на ECL мрачен и замогильно ужасен. Собсно, что-то по нему "изучить" можно уже кое-что и без того зная.