Microsoft's "Squeak Language" Research

Alan Kay Alan.Kay at
Mon Jan 26 15:54:15 UTC 2004

This is the Luca Cardelli "squeak", and there has been a disclaimer 
on the website since 1996 that our "Squeak" is not their "squeak".




At 8:34 PM -0800 1/25/04, Peter William Lount wrote:
>Squeak: a Language for Communicating with Mice
>"Graphical user interfaces are difficult to implement because of the
>concurrency among multiple interaction devices, such as mice, buttons, and
>keyboards. Squeak is a user interface implementation language that exploits
>this concurrency rather than hiding it, helping the programmer to express
>interactions using multiple devices. We present the motivation, design and
>semantics of squeak . The language is based on concurrent programming
>but can be compiled into a conventional sequential language; our
>generates C code. We discuss how squeak programs can be
>integrated into a graphics system written in a conventional language to
>large but regular user interfaces, and close with a description of the
>"Squeak is a concurrent language for specifying interactive user interfaces.
>It can express
>complex time-dependent interfaces in a compact notation. Although squeak
>could be developed
>into a full-blown language, we use it to express subroutines which are then
>integrated in larger
>programs written in a conventional sequential language (C).
>The integration of concurrent subsystems in sequential programs is achieved
>by compiling
>concurrency into sequential code whose execution is controlled by the
>sequencing of external
>device events. It is interesting that in the restricted domain of squeak
>programs, the context
>switches between concurrent processes can be compiled out.
>The real-time behavior of squeak is subtle, and we have found it helpful to
>express the
>language's semantics formally, using the methods of operational semantics."
>This alternate reality conception of "squeak" may actually have some
>relevancy to Squeak Smalltalk in the area of creating powerful user
>All the best,
>peter at


More information about the Squeak-dev mailing list