Blogs (1) >>
POPL 2019
Sun 13 - Sat 19 January 2019 Cascais, Portugal
Mon 14 Jan 2019 11:05 - 12:00 at Sala X - Session 1 Chair(s): Manuel Hermenegildo

Most high-performance dynamic language virtual machines duplicate language semantics in the interpreter, compiler, and runtime system. This violates the principle to not repeat yourself. In contrast, in GraalVM, we define languages solely by writing an interpreter [1]. To achieve high-performance we use an approach that was first described in 1971 by Y. Futamura [2], and is known as the first Futamura projection. The first Futamura projection allows languages to express powerful optimizations while keeping the compiler fully language agnostic. The runtime system composes interpreter nodes of multiple languages in one compilation unit to support polyglot interoperability and compilation [3]. A language agnostic instrumentation mechanism enables us to attach cross-cutting concerns to polyglot applications with zero overhead [4]. In this talk, I will introduce the theoretical concepts behind GraalVM and show how we build composable high-performance language implementations and tools. I will also preview some new ideas on how we want to apply the second Futamura projection in order to reach the compilation efficiency of specialized language-specific compilers.


[1] Würthinger, Thomas, et al. “Practical partial evaluation for high-performance dynamic language runtimes.” ACM SIGPLAN Notices. Vol. 52. No. 6. ACM, 2017.
[2] Futamura, Yoshihiko. “Partial evaluation of computation process–an approach to a compiler-compiler.” Higher-Order and Symbolic Computation 12.4 (1999): 381-391.
[3] Grimmer, Matthias, et al. “High-performance cross-language interoperability in a multi-language runtime.” ACM SIGPLAN Notices. Vol. 51. No. 2. ACM, 2015.
[4] Van De Vanter, Michael, et al. “Fast, Flexible, Polyglot Instrumentation Support for Debuggers and other Tools.” arXiv preprint arXiv:1803.10201 (2018).

Slides (14.01.2019-POPM.pdf)1.64MiB

Mon 14 Jan

Displayed time zone: Belfast change

11:00 - 12:30
Session 1PEPM at Sala X
Chair(s): Manuel Hermenegildo IMDEA Software Institute and T.U. of Madrid (UPM)
Day opening
Welcome to PEPM19
C: Atsushi Igarashi Kyoto University, Japan, C: Manuel Hermenegildo IMDEA Software Institute and T.U. of Madrid (UPM)
Applying Futamura Projections to Compose Languages and Tools in GraalVM (Invited Talk)
Christian Humer Oracle Labs, Switzerland
File Attached
A Simpler Lambda Calculus
Barry Jay University of Technology Sydney