Welcome to Squeak

Squeak is an open-source Smalltalk programming system with fast execution environments for all major platforms. It features the Morphic framework, which promotes low effort graphical, interactive application development and maintenance. Many projects have been successfully created with Squeak. They cover a wide range of domains such as education, multimedia, gaming, research, and commerce.

Tools for browsing, searching, and writing Smalltalk code

Features

It's Smalltalk!

Everything is an object. Objects collaborate by exchanging messages to achieve the desired application behavior. The Smalltalk programming language has a concise syntax and simple execution semantics. Novice programmers can get started easily and experts can engineer elegant solutions at large.

Morphic UI Framework

All graphical objects are tangible and interactively changeable. This promotes short feedback loops and low-effort application development. Morphic thus leverages the live programming experience of traditional Smalltalk environments from a mainly text-focused domain to a graphical one.

Powerful Tooling

The dynamic Squeak environment provides a variety of tools for browsing, writing, executing, and versioning Smalltalk code. Multiple debugging sessions can be served concurrently. Thanks to Morphic, tool customization can be achieved with reasonable effort.

Fast Virtual Machine

There are several fast Squeak VMs that also support other languages of the Smalltalk family. Meta-tracing, just-in-time compilation, stack-to-register mapping, and aggressive in-line message caching yield efficiency in interpreting Smalltalk byte code.

Downloads

All-in-one Package

The all-in-one package works on Windows, OS X, and Linux. Download, unzip, and double-click the appropriate file: *.bat for Windows, *.app for OS X, and *.sh for Linux.

  Version Support Link
Squeak All-In-One 4.5

Trunk Image (Bleeding Edge)

The trunk image is the latest experimental edition of our Squeak images. It is mainly used by platform developers and not expected to be stable, yet. (Make sure to get the most recent VM.)

  Version Link
Latest Build trunk

Community

Squeak Wiki

The Squeak Wiki collects useful information about the language, its tools, and several projects. It’s a wiki, so you can participate!

Squeak Oversight Board

The Squeak Oversight Board coordinates the community’s open-source development of its versatile Smalltalk environment.

Squeak Mailing Lists

The Squeak community maintains several mailing lists for beginners, general development, and virtual machines.

The Weekly Squeak

The Weekly Squeak is a blog that reports on news and other events in the Squeak and Smalltalk universe.

Projects

Babelsberg/S

An implementation of Babelsberg allowing constraint-based programming in Smalltalk.

[Quick Install]
(Smalltalk at: #Metacello) new
  baseline: 'BabelsbergS';
  repository: 'github://babelsberg/babelsberg-s/repository';
  load.
Make sure you have Metacello installed.

Croquet

A collaborative, live-programming, audio-visual, 3D environment that allows for the development of interactive worlds.

Etoys

A media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users that runs on many platforms.

Scratch

Create and share stories, games, and animations with Scratch. It helps young people to think in a creative fashion, conclude logically, and work together.

Documentation

Docs

Squeak by Example

Andrew Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, and Marcus Denker. Square Bracket Associates, 2007.

Squeak: Open Personal Computing and Multimedia

Mark Guzdial and Kim Rose. Prentice Hall, 2002.

BYTE Magazine

Smalltalk special issue, August 1981.

Development

SqueakSource3

A Monticello code repository for Squeak. Many of our community’s projects are hosted here. Others you may find at SqueakMap or the now retired SqueakSource1.

Version Control With Git

With FileTree, you can manage your code and changes with a version control systems like Git on GitHub.

Squeak Bug Tracker

If you identify an issue in Squeak, please file a bug report here. Squeak core developers regularly check the bug repository and will try to address all problem as quickly as possible.

R/Squeak VM

An experimental virtual machine written in RPython and based on PyPy’s meta-tracing JIT Compiler infrastructure.