- Why GraalVM?
- Getting Started
- Container Images
- Guides
- Examples
- Reference Manuals
- Debugging and Monitoring Tools
- GraalVM as a Platform
- Truffle Language Implementation Framework
- Truffle Branches Instrumentation
- Dynamic Object Model
- Truffle Approach to Function Inlining
- Profiling Truffle Interpreters
- Truffle Interop 2.0
- Language Implementations
- Implementing a New Language with Truffle
- Truffle Native Function Interface
- Optimizing Truffle Interpreters
- Options
- Specialization Histogram
- Testing DSL Specializations
- Polyglot API Based TCK
- Truffle Library Guide
- Truffle AOT Overview
- Truffle AOT Compilation
- Auxiliary Engine Caching
- Truffle Language Safepoint Tutorial
- Monomorphization
- Splitting Algorithm
- Monomorphization Use Cases
- Reporting Polymorphic Specializations to Runtime
- Security Guide
- Compatibility
- Release Notes
- Support
- FAQ
Implementing a New Language with Truffle
For an in-depth presentation on how to implement your language with Truffle, watch this three-hour walkthrough presented at the Conference on Programming Language Design and Implementation PLDI 2016.
Next Steps:
- Start to subclass TruffleLanguage for your own language implementation.
- Fork SimpleLanguage, a toy language that demonstrates how to use many Truffle features.
- Embed Truffle languages in Java host applications using the Polyglot API.
- Read GraalVM/Truffle publications.