ECOOP 2015
Sun 5 - Fri 10 July 2015 Prague, Czech Republic

Welcome to the 1st Truffle/Graal Languages Workshop

In recent years we have observed a change in the way people think about implementing programming languages. In the past, an implementation of a given language was monolithic, with all the components, such as the runtime, compiler or memory management subsystem, developed from scratch. With the appearance of Java, developers of other languages started targeting its bytecode format in order to re-use high-performance services provided by Java virtual machines. Evolution of these ideas has resulted in the creation of a specialized open-source Java-based language implementation toolkit, consisting of the Graal optimizing compiler and Graal’s multi-language framework, Truffle. The toolkit facilitates the creation of high-performance language implementations using partial evaluation of self-specializing interpreters and attempts to rectify some of the limitations of previous approaches. In particular, it circumvents possible mismatches between “guest” language semantics and “host” bytecodes. It is rapidly gaining popularity in both industry and academia as a foundation for guest languages (e.g., JavaScript, Ruby, Python, R and others).

The goal of this full day workshop is to attract programming language developers interested in using Truffle and Graal for creating programming language implementations and tools, as well as, more broadly, developers interested in discussing language implementation approaches heavily relying on dynamic profiling feedback and specialization. The workshop is meant to be a forum where language developers can learn about Truffle and Graal, share their experience using the toolkit, identify potential limitations and discuss methods of rectifying them, as well as propose future directions for the development of Truffle languages tooling support and of the toolkit itself. We are especially interested in attracting participation of language developers that are not yet familiar with Truffle or Graal but are interested in exploring how they can simplify development of their own current or future projects.

The workshop will be divided into two segments. The morning segment will consist of a number of short talks and discussions led by experienced language developers, and is aimed at introducing Truffle and Graal as well as sharing experience implementing Truffle languages. The afternoon segment is aimed at providing support for developers planning to jump-start their own projects using Truffle or contributing to one of the existing Truffle-based implementations, as well as discussing how the Truffle platform can be used for programming language research. This segment will start with a hands-on tutorial, and experienced Truffle language developers as well as members of the Truffle/Graal core team will also be available for individual/group mentoring and/or coding sessions.

You're viewing the program in a time zone which is different from your device's time zone change time zone

Tue 7 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:05 - 10:20
WelcomeTruffle at Bohemia III
Chair(s): Adam Welc Oracle Labs, Mario Wolczko Oracle Labs, Thomas Wuerthinger Oracle Labs
Day opening
Thomas Wuerthinger Oracle Labs
10:20 - 12:25
Session 1Truffle at Bohemia III
One VM to Rule Them All And With Interoperability Bind Them
Matthias Grimmer Johannes Kepler University Linz
Substrate VM
Integrating Truffle into an Existing Language Implementation
Chris Seaton Oracle Labs / University of Manchester
Developer Tools for Truffle-implemented Languages
Truffle Trade-offs, Concepts and Experiences
Christian Humer Oracle Labs
12:25 - 12:35
Discussion 1Truffle at Bohemia III
Additional discussion 1

15:30 - 15:40
Discussion 2Truffle at Bohemia III
Additional discussion 2

Call For Participation

We solicit discussion topic proposals, describing both ongoing and future projects, in the form of extended (1-3 page) abstracts. The discussion topics include but are not limited to the following areas:

  • Case studies of existing Truffle language implementations.
  • Comparing alternative language implementation techniques to Truffle.
  • Performance analysis and/or optimizations for Truffle language implementations.
  • Tooling support for Truffle languages.
  • Infrastructure-level optimizations and extensions that can benefit languages built with Truffle.
  • New research project proposals utilizing Truffle and/or Graal.

Depending on the number of accepted submissions, we expect topics to cover between 30 minutes and 60 minutes time slots at the workshop. All proposals should be submitted by email to Adam Welc

  • deadline for proposal submissions: April 23, 2015 (by 11:59 PM AoE)
  • notification: May 1, 2015

Participants with accepted proposals may ask for financial support to cover travel costs. The financial support is optional and its total amount, if any, will be determined by the organizing committee. Please indicate if financial support is being requested as part of the submission.