Squeak Goodies

On this page I have collected together links to a variety of Smalltalk "Goodies". They are all written in Squeak, but many ought to be portable to other Smalltalks.

Traits and the OmniBrowser

In this directory are drops of early demos of the second generation traits kernel and OmniBrowser-based programming tools

Interfaces

The class Interface represents the interface of a Smalltalk class, that is, the methods that clients can send to instances. An interface is a subclass of Set and contains all of the method selectors of the class that are not in a provate protocol and are not implemented as errors. So, for example,

self shouldNotImplement

methods are excluded from the interface.

Interfaces understand methods like conformsTo: anotherInterface.

The code is in this directory.

Code Generation for Accessors

Accessor methods are those that allow the reading and writing of instance variables. Accessor builds a table in a morphic window that contains a row for each of the instance variables of a class. For example:

The code is in this directory.

The Launcher

The launcher is a small morphic goodie that provides a row of buttons. Pressing the buttons lauches a tool, like the Broswer or a Change Sorter. The orientation, border width, etc. can be changed dynamically. The launcher is quite useful as a tool, but its real purpose is to serve as an example application that illustrates the layout properties of Morphic.

The code is in this directory.

An Abstract Interpreter

This is the Abstract Interpreter for ascertaining self- super- and class-sends, as described in my talk at ESUG 2004.

The code is in this directory.

Fixes and Enhancements

A directory of small fixes and enhancements that don't warrant their own entries here. Each should have an explanatory preamble.


Last modifed by Andrew Black on Wednesday, 19 April 2006 at 17:14.