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

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 such as for beginners, general development, and virtual machines. You can explore them all to get started and contribute.

The Weekly Squeak

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

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.

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.

Downloads

Current Release

The current Squeak release comes in various bundles including the “all-in-one” package, which works on Windows, macOS, and Linux (x86/ARM). Download, unzip, and double-click the appropriate file: *.bat for Windows, *.app for macOS, and *.sh for Linux.

  Version Support Link
macOS 5.1
Windows 5.1
Linux (x86) 5.1
Linux (ARM) 5.1
All-in-One 5.1
Experimental 64-bit Bundles 5.1
Current Alpha Version (a.k.a. "Trunk" or "Bleeding Edge")

Current Alpha Version (a.k.a. "Trunk" or "Bleeding Edge")

You can always take a look at the progress in the latest alpha version. Feel free to participate with commits to the inbox. Alpha versions are not expected to be stable. Make sure to also get the latest VM.

  Version Link
Trunk 6.0alpha

Features

It's Smalltalk!

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. The Smalltalk system is implemented in itself: Compiler, debugger, programming tools, and so on are all Smalltalk code the user can read and modify. Novice programmers can get started easily and experts can engineer elegant solutions at large.

Morphic UI Framework

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

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 executing Smalltalk byte code.

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. Scratch is pre-installed in the current Raspbian image for the Raspberry Pi.