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 metadatas

Cited literature [21 references]  Display  Hide  Download

https://hal.inria.fr/inria-00636785
Contributor : Lse Lse <>
Submitted on : Friday, October 28, 2011 - 11:50:05 AM
Last modification on : Thursday, February 21, 2019 - 11:02:54 AM
Long-term archiving on : Thursday, November 15, 2012 - 10:46:09 AM

File

Casa11a-Smalltalks-Bootstrappi...
Files produced by the author(s)

Identifiers

  • HAL Id : inria-00636785, version 1

Citation

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⟩

Share

Metrics

Record views

1000

Files downloads

461