Bootstrapping a Smalltalk - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Conference Papers Year : 2011

Bootstrapping a Smalltalk


Smalltalk is a reflective system. It means that it is defined in itself in a causally connected way. Traditionally, Smalltalk systems evolved by modifying and cloning what is called an image (a chunk of memory containing all the objects at a given point in time). During the evolution of the system, objects representing it are modified. However, such an image modification and cloning poses several problems: (1) There is no operational machine-executable algorithm that allows one to build a system from scratch. A system object may be modified but it may be difficult to reproduce its exact state before the changes. Therefore it is difficult to get a reproducible process. (2) As a consequence, certain classes may not have been initialized since years. (3) Finally, since the system acts as a living system, it is not simple to evolve the kernel for introducing new abstractions without performing some kind of brain surgery on oneself. There is a need to have a step by step process to build Smalltalk kernels from scratch. In this paper, after an analysis of past and current practices to mutate or generate kernels, we describe a kernel bootstrap process step-by-step. First the illusion of the existence of a kernel is created via stubs objects. Second the classes and meta-classes hierarchy are generated. Code is compiled and finally information needed by the virtual machine and execution are generated and installed.
Fichier principal
Vignette du fichier
Casa11a-Smalltalks-BootstrappingASmalltalk.pdf (244.88 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

inria-00636785 , version 1 (28-10-2011)


  • HAL Id : inria-00636785 , version 1


Gwenaël Casaccio, Stéphane Ducasse, Luc Fabresse, Jean-Baptiste Arnaud, Benjamin van Ryseghem. Bootstrapping a Smalltalk. Smalltalks, Nov 2011, Buenos Aires, Argentina. ⟨inria-00636785⟩
830 View
383 Download


Gmail Facebook X LinkedIn More