GraalVM as a Platform
This page targets developers who would like to embed GraalVM in their product or extend it by implementing their own language or tool.
The Java Polyglot API lets you embed and run code of Graal languages in JVM-based host applications.
- The Polyglot Package allows you to configure and run polyglot applications.
- The Proxy Package allows you to mimic Graal language objects using proxies.
- The IO Package allows you to customize the file system access of languages.
Note: Support for native embedding will be added soon.
GraalVM is an open ecosystem and we invite third party systems to participate via connecting their own programming languages, tools, or platforms. For that purpose we have developed Truffle, a language and tool development framework.
Implement your own Language
The Truffle framework allows you to run programming languages efficiently on GraalVM. It simplifies language implementation by automatically deriving high-performance code from interpreters. Find details about the approach in this research paper.
Implementing your own language using GraalVM will not only give you high performance. More importantly, it allows your language to connect with the rich tooling provided by the GraalVM ecosystem.
To get started please see our Language Implementation section.
Implement your own Tools
GraalVM provides a framework for creating language-agnostic tools like debuggers, profilers, or other instrumentations. In general, GraalVM provides a standardized way to express and run program code enabling cross-language research and the development of tools that are developed once and then can be applied to any language.
To get started please see our Instrument Implementation section.