Smalltalk is an exciting object-oriented language in which even primitive values are uniformly handled as normal objects, described by classes that one can browse, inspect and extend. Smalltalk was born during the seventies, still the ideas behind the currently available implementations are often at the edge of innovation.
Smalltalk benefits from being a highly expressive language in which complex and powerful systems can emerge from the composition of simple building blocks. Thanks to its dynamic nature, fast prototyping and agile software development are made possible. Smalltalk is not only a simple and pure dynamic object-oriented language, but is also a programmable system with processes, its own user interface and a complete Interactive Development Environment (IDE).
Smalltalk is a reflexive system, with all its elements being implemented in Smalltalk, which benefits from powerful meta-programming facilities. This means that elements can be extended, customized or adapted according to particular contexts, that the Smalltalk IDE itself can be used to implement, validate and debug the Smalltalk system extensions, and that a program is able to query and to change its own structure and behaviour.
In this context, the research topics that relate to Smalltalk technologies are large, and need to receive more attention and research effort, considering that Smalltalk has established itself as a test bed for software engineering theories and tools.
Implementation, new dialects or languages implemented in Smalltalk,