Как использовать инфраструктуру Graalvm Truffle с Groovy? - PullRequest
0 голосов
/ 08 октября 2019

Graalvm jdk использует инфраструктуру трюфелей для вызова функций и получения объектов из других языков, таких как R, Python, Ruby и Javascript. Как я могу использовать это от Groovy? Могу ли я назвать это API, используя Groovy-код? Или мне нужно вызывать API-интерфейсы Truffle с использованием кода Java, а затем вызывать этот код Java из Groovy?

1 Ответ

0 голосов
/ 08 октября 2019

Возможно, вы не заинтересованы в Truffle API, который является API для разработки новых языков на основе Truffle, но в Graal SDK: API для встраивания языков Truffle в приложения Java. Я думаю, что вы можете использовать этот API из Groovy, как если бы вы использовали любой другой Java API.

Некоторые ресурсы:

https://www.graalvm.org/docs/reference-manual/embed/

https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/polyglot/Context.html

TL; пример DR в Java:

import org.graalvm.polyglot.*;
import org.graalvm.polyglot.proxy.*;

public class HelloPolyglot {
    public static void main(String[] args) {
        System.out.println("Hello Java!");
        try (Context context = Context.create()) {
            context.eval("js", "print('Hello JavaScript!');");
        }
    }
}
...