Graal Papers

The Graal publications and presentations are now at https://github.com/graalvm/graal-core/blob/master/docs/Publications.md

Truffle Tutorial

This tutorial presents Truffle, a novel open-source 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 external research groups have implemented a variety of programming languages on top of Truffle, including JavaScript, Ruby, R, Python, and Smalltalk. They are competitive with or even faster than the best implementations that existed before.

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.

SPLASH 2014, October 20-24, Portland, OR
Video recording
Download slides

CGO 2014, February 15-19, Orlando, FL
Video recording: Part 1Part 2
Download slides

Truffle Presentations

Truffle Papers

Download paper