Squeak: a Language for Communicating with Mice

By Luca Cardelli and Rob Pike.

Graphical user interfaces are difficult to implement because of the essential 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 constructs but can be compiled into a conventional sequential language; our implementation generates C code. We discuss how squeak programs can be integrated into a graphics system written in a conventional language to implement large but regular user interfaces, and close with a description of the formal semantics.

Keywords: Concurrency, User Interfaces, Algorithms, Theory, Languages, Graphics languages, Interaction techniques, Formal semantics.

See also