Exploring the Truffle language implementation framework
In Chapter 3, GraalVM Architecture, in the Truffle section, we briefly covered the architecture of Truffle. Truffle is an open source library that provides a framework to implement language interpreters. Truffle helps run guest programming languages that implement the framework to utilize the Graal compiler features to generate high-performance code. Truffle also provides a reference implementation called SimpleLanguage to guide developers to write interpreters for their languages. Truffle also provides a tools framework that helps integrate and utilize some of the modern diagnostic, debugging, and analysis tools.
Let's understand how Truffle fits into the overall GraalVM ecosystem. Along with interoperability between the languages, Truffle also provides embeddability. Interoperability allows the calling of code between different languages, while embeddability allows the embedding of code written in different languages...