Groovy 如何使用 Graalvm 的 Truffle 框架?

How to use Graalvm's Truffle framework with Groovy?

Graalvm jdk uses the Truffle framework 调用函数并从其他语言接收对象,例如 R、Python、Ruby 和 Javascript。如何从 Groovy 使用它?我可以使用 Groovy 代码调用它的 API 吗?还是我必须使用 Java 代码调用 Truffle API,然后从 Groovy 调用此 Java 代码?

您可能对 Truffle API 不感兴趣,它 API 用于开发新的基于 Truffle 的语言,但在 Graal SDK 中:API 用于将 Truffle 语言嵌入 Java 应用程序。我想你可以像使用任何其他 Java API.

一样使用 Groovy 中的 API

部分资源:

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

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

TL;Java 中的 DR 示例:

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!');");
        }
    }
}