Lisp как Язык сценариев в [закрытом] приложении C++

Использование:

File.Exists(path)

MSDN: http://msdn.microsoft.com/en-us/library/system.io.file.exists.aspx

редактирование: в системе. IO

24
задан Pillsy 11 November 2009 в 21:46
поделиться

8 ответов

CLISP - это всего лишь одна реализация Common Lisp. Это очень хорошая реализация, и у нее есть некоторая поддержка для встраивания в другие (основанные на C) программы, но это не его фокус, и он под лицензией GPL, что может или не может быть для вас препятствием.

Возможно, вас заинтересует ECL . Эта реализация специально разработана для встраивания (действительно, «E» означает «Embeddable»!) И имеет множество функций, которые могут быть вам полезны, в том числе возможность компилировать программы Common Lisp на C (а также предоставлять байтовые -компиляция кода и интерпретатор).

29
ответ дан 28 November 2019 в 22:34
поделиться

Если вам не нужен весь Лисп, вы можете лучше остановиться на реализации схемы, такой как Guile , которая предназначена для включения в другую программу.

16
ответ дан 28 November 2019 в 22:34
поделиться

Цыпленок - еще один вариант встраивания. См. здесь для получения подробной информации о встраиваемом API.

5
ответ дан 28 November 2019 в 22:34
поделиться

Есть несколько простых вариантов.

GUILE - это язык расширения GNU. Это встраиваемая схема (диалект LISP). GPL (естественно).

TinyScheme - очень маленькая, очень простая реализация Scheme, основанная на интерпретаторе. Компания-производитель вредоносных программ успешно использовала его для совершения самых разных неприятностей. Он доступен в исходном виде, я не помню, под какой лицензией (лицензиями).

3
ответ дан 28 November 2019 в 22:34
поделиться

Немного погуглив: Common Lisp как язык расширения

Но имейте в виду, что Common Lisp изначально не создавался как язык расширения, в отличие от Lua или Хитрость.

Общий совет: попробуйте использовать язык расширений, который действительно упрощает работу по их написанию, и помните, что освоение Lisp, чтобы вы могли работать с ним действительно продуктивно, может занять довольно много времени (а людей не так много вокруг этого может стоять так много пар xD).

1
ответ дан 28 November 2019 в 22:34
поделиться

Lisp - это семейство языков.

Common Lisp - это стандарт ANSI, который огромен . Считайте C ++ огромным. Не используйте его в качестве языка сценариев.

Если вы не нацелены на достаточно хардкорных программистов, Lisp как язык сценариев будет ... э ... не очень популярным. Вероятно . Lua, вероятно, лучше подходит в качестве языка сценариев.

Тем не менее, Lisp подходит (технически) для реализации языка сценариев.

-2
ответ дан 28 November 2019 в 22:34
поделиться

Попробуйте встраиваемый Common Lisp (ECL).

http://ecls.sourceforge.net/

Он предназначен для встраивания, и вы получаете ссылки только на те части Common Lisp, которые ваш требуется язык сценариев.

8
ответ дан 28 November 2019 в 22:34
поделиться

A Lisp is a good choice for an embedded language. Many people believe Lisp is hard but the syntax is relatively light, especially for non-programmers. There is essentially the prefix notation and that's it. Precedence rules are always unambiguous. Function names and variable names can be the same. You're pretty much free to use any characters you like for fun and var names.

With Lisp you can bend the syntax to your liking; the users do not have to learn common lisp. It is easy to extend and to provide, simpler facilities, such as expressing business rules or extracting data from files.

I guess my point is that the power and complexity of say Common Lisp, enables the provision of simple, domain specific constructs to the end user. Many other embedded languages will mean those users learning the intricacies of that language.

6
ответ дан 28 November 2019 в 22:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: