The Graal publications and presentations are now at https://github.com/graalvm/graal-core/blob/master/docs/Publications.md
Forget “this language is fast”, “this language has the libraries I need”, and “this language has the tool support I need”. The Truffle framework for implementing managed languages in Java . The language implementer writes an AST interpreter. It uses the Truffle framework that allows tree rewriting during AST interpretation. Tree rewrites incorporate type feedback and other profiling information into the tree, thus specializing the tree and augmenting it with run-time information. When the tree reaches a stable state, partial evaluation compiles the tree into optimized machine code. The partial evaluation is done by Graal, a just-in-time compiler for the Java HotSpot VM.Oracle Labs as well as gives you native performance, multi-language integration with all other Truffle languages, and tool support - all of that by just implementing an abstract syntax tree (AST) interpreter in Java.
Truffle applies AST specialization during interpretation, which enables partial evaluation to create highly optimized native code without the need to write a compiler specifically for a language. The Java VM contributes high-performance garbage collection, threads, and parallelism support.
This tutorial is both for newcomers who want to learn the basic principles of Truffle, and for people with Truffle experience who want to learn about recently added features. It presents the basic principles of the partial evaluation used by Truffle and the Truffle DSL used for type specializations, as well as features that were added recently such as the language-agnostic object model, language integration, and debugging support.
The recording from SPLASH 2014 is newer than the CGO 2014, but shorter (1 hour instead of 3 hours). The CGO 2014 version has more live programming and covers more topics.
- JVM Language Summit 2014, July 28-30, Santa Clara, CA: Debugging at Full Speed: Instrumenting Truffle-implemented Programs
- JVM Language Summit 2013, July 29-31, Santa Clara, CA: One VM to Rule Them All
- SPLASH 2012, October 19-26, Tucson AZ: Truffle: A Self-Optimizing Runtime System. doi:10.1145/2384716.2384723