Welcome to Squeak

Squeak is a modern, 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 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.

Squeak Oversight Board

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

Squeak Wiki

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

The Weekly Squeak

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

Development

Development Process

The Squeak Development Process supports the improvement of Squeak—the core of the system and its supporting libraries—by its community. The process builds on few basic ideas: the use of Monticello as the primary source code management system, free access for the developers to the main repositories, and an incremental update process for both developers and users. (Read More)

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. If you have troubles posting there, you can always post the issue on our development list.

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

Using the Git Browser, you can commit and browse your code and changes in Git and work on projects hosted on platforms like GitHub. With Monticello you can read and write FileTree and Tonel formatted repositories in any file-based version control system.

Documentation

Docs

Squeak by Example (6.0 Edition)

Christoph Thiede and Patrick Rein. 2023. Based on previous versions by Andrew Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker.

Squeak by Example (5.3 Edition)

Christoph Thiede and Patrick Rein. 2022. Based on previous versions by Andrew Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker.

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

Downloads come as *.zip, *.tar.gz, or *.dmg archives. On macOS, you must drag the included *.app file out of your ~/Downloads folder to avoid translocation; mv will not work. On Windows, you must confirm a SmartScreen warning since executables are not yet code-signed.

  Version Support Link
macOS (unified) 6.0
Windows (x64) 6.0
Linux (x64) 6.0
Linux (ARMv8) 6.0
All-in-One (64-bit) 6.0
32-bit Bundles 6.0

❤️ Please help us keep our infrastructure up and running, which includes this website, our mailing lists, and code repositories. ❤️

Current Trunk Image

Current Trunk Image

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.

  Link
Trunk Image

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.

[Download OpenCroquet]

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

Scratch lets you build programs like you build Lego(tm) - stacking blocks together. It helps you learn to think in a creative fashion, understand logic, and build fun projects. Scratch is pre-installed in the current Raspbian image for the Raspberry Pi.