Skip to Main content Skip to Navigation
Journal articles

Bootstrapping Reflective Systems: The Case of Pharo

Abstract : Bootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition of a given language using the same language, taking benefit of the abstractions and expression power it provides. A bootstrap, then, supports the evolution of a language. However, the infrastructure of reflective systems like Smalltalk includes, in addition to a compiler, an environment with several self-references. A reflective system bootstrap should consider all its infrastructural components. In this paper, we propose a definition of bootstrap for object-oriented reflective systems, we describe the architecture and components it should contain and we analyze the challenges it has to overcome. Finally, we present a reference bootstrap process for a reflective system and Hazelnut, its implementation for bootstrapping the Pharo Smalltalk-inspired system.
Complete list of metadata

https://hal.inria.fr/hal-00903724
Contributor : Lse Lse <>
Submitted on : Tuesday, November 12, 2013 - 8:33:03 PM
Last modification on : Thursday, August 19, 2021 - 3:05:03 AM
Long-term archiving on: : Thursday, February 13, 2014 - 12:36:18 PM

File

Poli13b-BootstrappingASmalltal...
Files produced by the author(s)

Identifiers

Citation

Guillermo Polito, Stéphane Ducasse, Luc Fabresse, Noury Bouraqadi, Benjamin van Ryseghem. Bootstrapping Reflective Systems: The Case of Pharo. Science of Computer Programming, Elsevier, 2014, 96, pp.18. ⟨10.1016/j.scico.2013.10.008⟩. ⟨hal-00903724⟩

Share

Metrics

Record views

927

Files downloads

695