Подтвердить что ты не робот

Существуют ли какие-либо статически типизированные, встраиваемые языки сценариев?

Мне интересно, есть ли какие-либо статически типизированные, встраиваемые языки сценариев. Python, JavaScript и т.д. - отличные языки, но они динамически типизированы (т.е. Типы проверяются во время выполнения). Мне просто интересно, знает ли кто-нибудь о каких-либо статически типизированных языках сценариев, которые могут быть встроены в приложение на С++?

4b9b3361

Ответ 1

Ну, там Ch - встраиваемый интерпретатор C/С++

Ответ 2

Я предлагаю вам проверить Angelscript. Мы использовали его на Warsow, и это довольно хорошо. Он имеет все функции, которые вы ожидаете, такие как классы, управление памятью и т.д. Так как он статически типизирован, он может улучшить оптимизацию для вас, и поэтому байт-код заканчивается быстрее, чем другие языки сценариев.

Однако AS не так прост в использовании, как другие, такие как Lua, и есть только одна .zip-загрузка - это означает, что нет .exe-инсталляторов, пакетов .deb,.dmg или чего-то еще. Как правило, это нормально, потому что вы захотите объединить AS в свой проект. Главное, что трудно сравнить с Lua, - это то, что библиотека намного больше (но имеет больше возможностей). Не то, чтобы многие люди использовали его, поэтому гораздо труднее найти примеры и помочь, но есть хорошие документы, поэтому не стоит начинать с самого начала.

Однако, я бы предпочел иметь динамический язык для сценариев. Когда я script приложение, я хочу попасть туда и закодировать дерьмо из него, не беспокоясь о багаже ​​в стиле C. Помимо AngelScript я действительно не могу придумать других, заслуживающих рекомендации.

Ответ 3

Как насчет С#? Отметьте Mono реализацию языка сценариев С# REPL (http://www.mono-project.com/CsharpRepl)

Обновление: Если вы не знаете, что такое REPL, это то, что вы видите при запуске Python без каких-либо аргументов, или irb

Ответ 4

Haskell статически типизирован. И вы, вероятно, можете включить ghci или hugs (оба являются переводчиками) в другую программу. Но это нелегко, афайк.