Bootstrapping Reflective Systems: The Case of Pharo

Guillermo Polito 1, 2 Stéphane Ducasse 2 Luc Fabresse 3 Noury Bouraqadi 3 Benjamin Van Ryseghem 2
2 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
3 URIA
URIA - Unité de Recherche Informatique et Automatique
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.
Keywords : PHARO
Type de document :
Article dans une revue
Science of Computer Programming, Elsevier, 2014, pp.18
Liste complète des métadonnées

https://hal.inria.fr/hal-00903724
Contributeur : Lse Lse <>
Soumis le : mardi 12 novembre 2013 - 20:33:03
Dernière modification le : jeudi 11 janvier 2018 - 06:22:25
Document(s) archivé(s) le : jeudi 13 février 2014 - 12:36:18

Fichier

Poli13b-BootstrappingASmalltal...
Fichiers produits par l'(les) auteur(s)

Identifiants

  • HAL Id : hal-00903724, version 1

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, pp.18. 〈hal-00903724〉

Partager

Métriques

Consultations de la notice

621

Téléchargements de fichiers

275