Sciweavers

OOPSLA
2015
Springer

A bootstrapping infrastructure to build and extend Pharo-like languages

8 years 6 months ago
A bootstrapping infrastructure to build and extend Pharo-like languages
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 beraises 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 boot...
Guillermo Polito, Stéphane Ducasse, Noury B
Added 16 Apr 2016
Updated 16 Apr 2016
Type Journal
Year 2015
Where OOPSLA
Authors Guillermo Polito, Stéphane Ducasse, Noury Bouraqadi, Luc Fabresse
Comments (0)