Skip to Main content Skip to Navigation
New interface
Conference papers

Bootstrapping a Smalltalk

Abstract : 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.
Document type :
Conference papers
Complete list of metadata

Cited literature [21 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Friday, October 28, 2011 - 11:50:05 AM
Last modification on : Tuesday, November 8, 2022 - 6:58:04 AM
Long-term archiving on: : Thursday, November 15, 2012 - 10:46:09 AM


Files produced by the author(s)


  • 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⟩



Record views


Files downloads