GraalVM glossary

This page gives you a short list of words that might need additional explanations.

Embedding API – API that one can use for embedding GraalVM in their native or Java applications.

FastR – GNU R implementation on GraalVM.

Graal (compiler) – the just-in-time compiler for Java bytecode and managed languages implemented with Truffle.

GraalVM – high performance embeddable polyglot virtual machine. When we talk about GraalVM it typically either refers to the whole project or to the virtual machine running your applications.

Graal.js – JavaScript engine and node.js implementation on GraalVM.

Polyglot API – the api that allows interoperability between different languages supported by GraalVM.

SimpleLanguage – a demonstration language built using the Truffle API, demonstrates most of the available Truffle features and documents their use with inline source documentation.

SubstrateVM – native virtual machine written in Java that is used when creating native images of your applications.

Sulong – the LLVM bitcode interpreter built on the GraalVM; it allows one to execute native applications with GraalVM and is used as a mechanism to run native extensions for GraalVM languages like JavaScript or Ruby.

Truffle – framework for implementing managed languages. Truffle provides API to create abstract syntax trees (AST) for the semantics of your language. Graal compiler understands the Truffle trees and is able to optimize them very well.

Truffle API – API for building interpreters of managed languages.

TruffleRuby – Ruby implementation on GraalVM.