«Эвал» в Скале
Можно ли использовать Scala для написания скриптов в Java-приложении?
Мне нужно загрузить фрагмент кода Scala из Java, настроить для него область выполнения (данные, предоставляемые хост-приложением), оценить его и извлечь из него объект результата.
Документация Scala показывает, как легко вызывать скомпилированный код Scala из Java (потому что он превращается в обычный байт-код JVM).
Но как я могу оценить выражение Scala на лету (из Java или, если проще, изнутри Scala)?
Для многих других языков есть интерфейс javax.scripting. Похоже, Scala его не поддерживает, и я не смог найти в документах по совместимости Java / Scala ничего, что не основывалось бы на преждевременной компиляции.