版本
- 适用于 JDK 24 的 GraalVM(最新)
- 适用于 JDK 25 的 GraalVM(早期访问)
- 适用于 JDK 21 的 GraalVM
- 适用于 JDK 17 的 GraalVM
- 存档
- 开发构建
- Truffle 语言实现框架
- Truffle 分支插桩
- 动态对象模型
- 静态对象模型
- 解释器代码的主机优化
- Truffle 函数内联方法
- 分析 Truffle 解释器
- Truffle 互操作 2.0
- 语言实现
- 使用 Truffle 实现新语言
- Truffle 语言和工具迁移到 Java 模块
- Truffle 原生函数接口
- 优化 Truffle 解释器
- 选项
- 栈上替换
- Truffle 字符串指南
- 特化直方图
- 测试 DSL 特化
- 基于多语言 API 的 TCK
- Truffle 编译队列方法
- Truffle 库指南
- Truffle AOT 概述
- Truffle AOT 编译
- 辅助引擎缓存
- Truffle 语言安全点教程
- 单态化
- 拆分算法
- 单态化用例
- 向运行时报告多态特化
语言实现
此页面旨在跟踪基于 Truffle 的日益增长的语言实现和实验。以下是现有语言实现(按字母顺序排列):
- Enso,一种开源的可视化数据科学语言,通过连接可视化元素来设计、原型化和开发任何应用程序。
- Espresso,一个元循环的 Java 字节码解释器。*
- FastR,一个 GNU R 实现。*
- GraalJS,一个符合 ECMAScript 标准的 JavaScript 实现。*
- GraalPy,一个早期阶段的 Python 实现。*
- GraalWasm,一个符合标准的 WebAssembly 实现。*
- grCUDA,一个多语言 CUDA 集成。
- Pkl,一种具有丰富验证和工具支持的配置即代码语言。
- SimpleLanguage,一个用于演示 Truffle 特性的玩具语言实现。
- SOMns,一个用于并发研究的 Newspeak 实现。
- Sulong,一个 LLVM 字节码解释器。*
- TRegex,一个通用正则表达式引擎(内部使用,仅供其他语言使用)。*
- TruffleRuby,一个 Ruby 实现。*
- TruffleSOM,一个 SOM Smalltalk 实现。
- TruffleSqueak,一个 Squeak/Smalltalk 虚拟机实现和多语言编程环境。
- Yona,一个极简、强动态类型、并行非阻塞、多语言、严格函数式编程语言的参考实现。
* 作为 GraalVM 的一部分发布。
实验项目 #
- BACIL,.NET CIL 解释器。
- bf,一个实验性的 Brainfuck 编程语言实现。
- brainfuck-jvm,另一个 Brainfuck 语言实现。
- Cover,C++ 的一个安全子集。
- DynSem,一个用于声明性地指定语言动态语义的 DSL。
- Heap Language,一个通过互操作性嵌入 Truffle 语言的教程。
- hextruffe,一个 Hex 实现。
- islisp-truffle,一个 ISLISP 2007 标准的实现。
- LuaTruffle,一个 Lua 语言实现。
- Mozart-Graal,一个 Oz 编程语言实现。
- Mumbler,一个实验性的 Lisp 编程语言。
- PorcE,一个 Orc 语言实现。
- ProloGraal 一个支持互操作性的 Prolog 语言实现。
- PureScript,一个小型、强类型编程语言。
- Reactive Ruby,TruffleRuby 遇上响应式编程。
- shen-truffle,Shen 编程语言的一个移植。
- TruffleBF,一个已完成的 Brainfuck 编程语言实现,已编译为原生镜像。
- streamblocks-graalvm,一个 CAL Actor 语言 (数据流编程) 实现
- TruffleMATE,一个具有完全具体化运行时系统的 Smalltalk。
- TrufflePascal,一个 Pascal 解释器。
- ZipPy,一个 Python 实现。
提交 pull request 以在此列表中添加/删除项目。