Single page description of Smalltalk

Edward P Luwish eluwish at
Tue Mar 7 18:14:29 UTC 2000

Back in 1983, I was blown away by the first chapter in the Blue Book.  Let it be
your muse.

The basics can be summarized as you two have suggested - messages and blocks.
Leave out the subtleties for now.  And use pictures!

Explain how an "if-then" is accomplished by sending messages to a Boolean and a
block. It may be the simplest and best example (to a traditional programmer) of
how Smalltalk is really different from the rest.  All the basic syntax and
semantics comes into play in this one example.

The first-class object-ness might be a bit hard to swallow at first -
particularly that Class/Metaclass knot in the inheritance diagram.  I'll let
someone else figure out that half of the page :-)


Dwight Hughes wrote:

> Alan Kay wrote:
> >
> > Of course, one is tempted to simply write the page (Dan can do this better
> > than anyone).
> >
> > The only syntax that counts is
> >          <receiver> <message>
> > and this could be expanded a little to deal with unaries, binaries and
> > keywords. The semantics is all about "biology": sending, receiving, and
> > remembering with a little about inheritance thrown in.
> >
> > Tempting as a challenge?
> Yes, it's very tempting. Should we try to capture the little
> idiosyncrasies in Squeak (relative to an ideal, not other Smalltalks) --
> like the constraints on how "-" and "|" can be used in a binary
> selector, and the way blocks won't actually allow no arguments and a
> single bar - [ | 2 + 3 ] is not allowed but [ | | 2 + 3 ] is -- or
> should we try for the cleanest, most general description?
> (And yes, I've already started on it.)
> -- Dwight

More information about the Squeak-dev mailing list