LINUX.ORG.RU

Линковка LISP с Си


0

0

Как слинковать и использовать LISP-процедуру на Си? Нужно передавать ей банальные параметры, такие, как числа и строки, а на выходе получать одну строку.

★★

Вы начали праздновать раньше времени, уважаемый.

Если банальные параметры, то почему не сделать через system() передать ей через консоль все необходимые параметры и считать требуемую строку?

marsijanin ★★
()
Ответ на: комментарий от marsijanin

Тормоза будут. В моем случае это непозволительно.

xTERM ★★
() автор топика
Ответ на: комментарий от xTERM

Это встраиваемый интерпретатор. Проект JIT для него есть, но вряд ли работает бо шестилетней давности, а Guile меняется.

Sphinx ★★☆☆
()
Ответ на: комментарий от Sphinx

Вообще on-line игрушка. Довольно простая, но скорость ответа сервера, сами понимаете, играет немалую роль...(

xTERM ★★
() автор топика
Ответ на: комментарий от UrbanSerj

Почему хак? Чикен в сишный код компилируется, все предельно прямо и аккуратно :)

swizard
()

Я как раз ECL однажды использовал для именно такой задачи. Ядро ECL написано на С. Не знаю, на сколько оно быстрее других Лиспов. Но разрабатывался ECL как раз для сочленения С и Лисп кода (_EMBEDDABLE_ CL). У них немного бестолковый манул, но по мейл-листу разобраться в принципе можно.

seiken ★★★★★
()

посмотри PicoLisp, простой встраиваемый Лисп. Встраивается почти так же просто, как Tcl, Lua. http://software-lab.de/down.html

anonymous
()
Ответ на: комментарий от xTERM

пример флайт-симулятора на PicoLisp:

http://rcsim.software-lab.biz/

Лисп компилируется в Ява-апплет, который грузится браузером. Исходники в комплекте

anonymous
()

PicoLisp динамичный, интерпретируется (но быстро, ввиду его минималистичности. Потом требуемые основные функции переписываются на C и встраиваются в приложение).

Динамичность позволяет делать например такие штуки с ООБД: http://www.software-lab.de/dbui.html

anonymous
()
Ответ на: комментарий от xTERM

> on-line игрушка. Довольно простая, но скорость ответа сервера

почитай вот это:

http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp

Lisp-runtime с кусками на ассемблере для Nintendo, Playstation. Динамическая подгрузка функций в runtime (поправили-подгрузили новую версию, в runtime, без перезапусков)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.