SchemeTalk is a Smalltalk like OO system as an extension to and written/bootstrapped in Scheme.

SchemeTalk's graphical inspector

SchemeTalk consists of a fairly small set of core classes with an extensive meta-object protocol. Methods and slots are first-class. This allows us to extend the language from within.

SchemeTalk implements metamethods (a type of methods comparable to Python's decorators) and uses it to implement actors with asynchronous methods which return futures. Which is then again extended with support for remote method invocation.

In order to show its close relation to real Smalltalk code, SchemeTalk implements a Smalltalk-to-SchemeTalk compiler. This compiler translates Smalltalk code to its SchemeTalk equivalent. SchemeTalk provides a bootstrapping environment for Smalltalk code on top of which the compiled Smalltalk code is then loaded. Primitives are implemented in a single Smalltalk-Primitives class with a straightforward definition of the most common primitives. This implementation was used to bootstrap parts of the mini.image and a more recent Pharo image.

In order to use the graphical part, please run on top of DrScheme.


Download SchemeTalk

SchemeTalk is available at:


SchemeTalk is being documented piece by piece on my blog: