Onward! 2015
Sun 25 - Fri 30 October 2015 Pittsburgh, Pennsylvania, United States
co-located with SPLASH 2015
Thu 29 Oct 2015 17:06 - 17:30 at Grand Station 3-5 - Session the Third Chair(s): Lindsey Kuper

Bootstrapping is well known in the context of compilers, where a bootstrapped compiler can compile its own source code. Bootstrapping is a beneficial engineering practice be- cause it raises the level of abstraction of a program making it easier to understand, optimize, evolve, etc. Bootstrapping a reflective object-oriented language is however more challenging, as we need also to initialize the runtime of the language with its initial objects and classes besides writing its compiler. In this paper, we present a novel bootstrapping infrastructure for Pharo-like languages that allows us to easily extend and modify such languages. Our bootstrapping process relies on a first-class runtime. A first-class runtime is a meta-object that represents a program’s runtime and provides a MOP to easily load code into it and manipulate its objects. It decouples the virtual machine (VM) and language concerns by introducing a clear VM-language interface. Using this process, we show how we succeeded to bootstrap a Smalltalk-based language named Candle and then extend it with traits in less than 250 lines of high-level Smalltalk code. We also show how we can bootstrap with minimal effort two other languages (Pharo and MetaTalk) with similar execution semantics but different object models.

Thu 29 Oct

Displayed time zone: Eastern Time (US & Canada) change

15:30 - 17:30
Session the ThirdOnward! Papers at Grand Station 3-5
Chair(s): Lindsey Kuper Intel Labs
15:30
24m
Talk
Toward tool support for interactive synthesis
Onward! Papers
Shaon Barman UC Berkeley, Rastislav Bodík University of Washington, USA, Satish Chandra Samsung Research America, Emina Torlak University of Washington, Arka Bhattacharya UC Berkeley, David Culler UC Berkeley
15:54
24m
Talk
Type Systems for the Masses: Deriving Soundness Proofs and Efficient Checkers
Onward! Papers
Sylvia Grewe TU Darmstadt, Sebastian Erdweg TU Darmstadt, Germany, Pascal Wittmann TU Darmstadt, Mira Mezini TU Darmstadt
Link to publication
16:18
24m
Talk
One Parser to Rule Them All
Onward! Papers
Ali Afroozeh Centrum Wiskunde & Informatica, Anastasia Izmaylova Centrum Wiskunde & Informatica
Link to publication DOI Pre-print Media Attached
16:42
24m
Talk
Isolates, Channels and Event Streams for Composable Distributed Programming
Onward! Papers
Aleksandar Prokopec EPFL, Martin Odersky EPFL, Switzerland
17:06
24m
Talk
A Bootstrapping Infrastructure to Build and Extend Pharo-like Languages
Onward! Papers
Guillermo Polito Inria, Stéphane Ducasse INRIA, France, Noury Bouraqadi Mines Douai, Luc Fabresse Mines Douai