related topics
{system, computer, user}
{math, number, function}
{work, book, publish}
{group, member, jewish}
{language, word, form}
{law, state, case}

The Squeak programming language is a Smalltalk implementation. It is object-oriented, class-based and reflective.

It was derived directly from Smalltalk-80 by a group at Apple Computer that included some of the original Smalltalk-80 developers. Its development was continued by the same group at Walt Disney Imagineering, where it was intended for use in internal Disney projects.

Squeak is available for many platforms, and programs produced on one platform run bit-identical on all other platforms. The Squeak system includes code for generating a new version of the virtual machine (VM) on which it runs. It also includes a VM simulator written in itself (Squeak). For this reason, it is easily ported.



Dan Ingalls is one of the important contributors to the Squeak project. Ingalls wrote the paper "Back to the Future: the story of Squeak, a practical Smalltalk written in itself", as well as built the architecture for five generations of the Smalltalk language upon which Squeak is built.

Squeak incorporates many of the elements Alan Kay proposed in the Dynabook concept, which he formulated in the 1960s. Kay is an important contributor to the Squeak project.

Andreas Raab seems to have the most commits.

User interface frameworks

Squeak includes a number of user interface frameworks:

  • An implementation of Morphic, Self's graphical direct manipulation interface framework. This is Squeak's main interface.
  • Tile-based, limited visual programming scripting in Etoys, based on Morphic.
  • A new, experimental interface called Tweak. In 2001, it became clear that the Etoy architecture in Squeak had reached its limits in what the Morphic interface infrastructure could do. Hewlett-Packard researcher Andreas Raab proposed defining a "script process" and providing a default scheduling mechanism that avoids several more general problems.[2] The result was a new user interface, proposed to replace the Squeak Morphic user interface in the future. Tweak added mechanisms of islands, asynchronous messaging, players and costumes, language extensions, projects, and tile scripting.[3] Its underlying object system is class-based, but to users, during programming (scripting), it acts like it is prototype-based. Tweak objects are created and run in Tweak project windows.
  • In Squeak versions 3.8 and earlier, the MVC interface. It is derived from the original Smalltalk-80 user interface framework which first introduced and popularized the model-view-controller architectural pattern[4] (so named after the three core classes of the framework). Thus, the term "MVC" in the context of Squeak refers to both one of the available user interface frameworks and the pattern the framework follows. MVC was provided for programmers who wished to use this older type of interface.

Full article ▸

related documents
Memory hierarchy
Amiga 2000
PC motherboard
Supervisory program
Digital Signal 0
Delta modulation
Intel 80486DX4
56 kbit/s line
Freescale 68HC11
MOS Technology 6507
Script kiddie
Commodore 1570
Demon dialing
Raster graphics
Voice operated switch
Frame synchronization
IBM 801
Intel 80486SX
Inductive coupling