如何在Groovy中使用Graalvm的Truffle框架?

时间:2019-10-08 16:07:21

标签: java groovy graalvm polyglot

Graalvm jdk使用Truffle framework来调用函数并从其他语言(例如R,Python,Ruby和Javascript)接收对象。如何在Groovy中使用它?我可以使用Groovy代码将其称为API吗?还是我必须使用Java代码调用Truffle API,然后从Groovy调用此Java代码?

1 个答案:

答案 0 :(得分:0)

您可能对Truffle API(用于开发新的基于Truffle的语言的API)不感兴趣,但是对Graal SDK:对将Truffle语言嵌入Java应用程序的API感兴趣。我想您可以像使用任何其他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!');");
        }
    }
}