Fact-checked by Grok 2 weeks ago

Squeak!

Squeak! is a modern, open-source implementation of the Smalltalk programming language and environment, providing a full-featured system for with fast execution on all major platforms. Developed in 1997 by , Ted Kaehler, John Maloney, Scott Wallace, and , Squeak originated as a practical Smalltalk system written entirely in itself, enabling self-modification and live development. Its roots trace back to the pioneering Smalltalk work at PARC in the 1970s, led by , which introduced key concepts like objects, classes, and graphical interfaces. Squeak emphasizes powerful tooling, including the Morphic framework for intuitive graphical user interfaces and interactive applications, a concise syntax where everything is an object, and advanced capabilities that support multiple concurrent sessions. The system features high-performance virtual machines with and meta-tracing, making it suitable for both development and deployment. Notable applications built on Squeak include Etoys, an educational authoring tool for children; the original Scratch visual programming environment, which debuted in Squeak before evolving separately; and , a framework for 3D collaborative virtual worlds. Squeak has also influenced research in areas like constraint-based programming through projects such as Babelsberg/S. Its open-source nature has fostered a vibrant community, contributing to , , and innovative .

History

Origins in Smalltalk

Squeak emerged as a direct evolution of Smalltalk-80, developed by , Ted Kaehler, John Maloney, Scott Wallace, and at Apple's Advanced Technology Group (ATG) between late 1995 and 1996. This effort built upon an existing Apple Smalltalk-80 system, reconditioning it into a more portable and modifiable implementation while preserving the core principles of its predecessor. The project originated from the need to create a development environment that could support innovative multimedia and educational applications across diverse platforms, free from the proprietary constraints of earlier Smalltalk versions developed at Xerox PARC. The primary motivations for Squeak's creation centered on achieving portability and open-source accessibility to enable widespread educational use, particularly inspired by Alan Kay's long-standing concept—a vision of a personal, for children to learn and create with. Developers sought to produce software that non-technical users and children could both use and program, addressing the limitations of platform-specific systems and promoting cross-platform deployment via emerging media like PDAs and the . This aligned with broader goals of democratizing computing, making advanced approachable without licensing barriers from Xerox PARC. Squeak's design drew heavily from Smalltalk's pure object-oriented , where everything is an object and computation occurs through message-passing, while incorporating Lisp's powerful capabilities for and Logo's emphasis on simplicity to engage young learners. These influences fostered an environment that balanced conceptual elegance with practical extensibility, allowing users to inspect and alter the system's behavior dynamically. The initial prototype began in December 1995 at Apple ATG, with the team achieving a running within five weeks through iterative . was developed based on Apple's implementation of Smalltalk-80, which was licensed, allowing the team to create a portable version without direct PARC constraints. The first public release occurred in September 1996, initially targeting Macintosh but quickly ported to UNIX and Windows platforms, marking 's debut as a freely distributable .

Key developments and releases

Squeak's development began in 1995 at Apple Computer, led by , , and John Maloney, resulting in its initial open-source release in 1996 as a portable implementation of Smalltalk-80 with a written entirely in Smalltalk for cross-platform compatibility. The first formal version, 1.0, arrived in 1996, emphasizing basic portability across platforms like Macintosh, Windows, and Unix through its self-contained image format and BitBlt graphics primitives, which enabled efficient multimedia handling without native dependencies. Following the initial release, development continued at , where the project received ongoing support. By 1998, architectural enhancements included the introduction of font support via a , improving text rendering quality and capabilities in the Morphic . Squeak 2.0 followed in 1999, incorporating image segments for efficient project loading and unloading, while Etoys—a tile-based scripting extension for educational programming—became a core component, positioning as a tool for child-friendly development. The early 2000s marked maturation with 3.0 released in 2001, achieving stability in the Morphic framework for direct-manipulation interfaces, and the integration of the Seaside web framework around 2003, which enabled continuation-based web application development directly in Smalltalk. Etoys solidified as the default scripting environment in early releases, supporting the initiative's educational goals. However, community challenges emerged, including the 2003 fork into , a collaborative platform built on Squeak's TeaTime protocol for synchronized . In 2006, pivotal events included Apple's relicensing of the original Squeak 1.1 codebase first under the in May and then under in October, resolving long-standing concerns and boosting adoption. That year also saw the formation of the Foundation (initially as Squeakland Foundation Inc.) to oversee governance, releases, and community coordination. Subsequent releases focused on performance and modernity: Squeak 3.10 in 2008 introduced for , while the just-in-time () , open-sourced in 2010 by Eliot Miranda, integrated in the 2010s to deliver significant speedups through bytecode-to-machine code compilation. Squeak 4.0 arrived in 2010 with Unicode enhancements, followed by 4.4 in 2012 supporting 64-bit images experimentally. The 2010s emphasized robustness, with Squeak 5.0 in 2015 introducing the Spur memory manager for large-scale applications and better garbage collection, enabling reliable 64-bit support. Squeak 5.1 (2016) added UI theming for improved accessibility, and 5.2 (2018) refined plugin stability and package management, culminating the period's focus on core infrastructure without major forks beyond earlier ones like Pharo in 2008.
VersionRelease DateKey Features
1.01996Basic portability, self-contained VM
3.02001Morphic stability, multimedia extensions
3.10May 2008Monticello version control
5.02015Spur memory manager, 64-bit images
5.2Oct 2018Plugin enhancements, package ecosystem

Recent milestones (2020s)

In 2022, the Squeak project released version 6.0, marking a significant update that introduced support for high-resolution displays across all platforms, enhanced the Sista set for better performance, and expanded the to over 5,000 automated tests for improved reliability. This release also updated the image format to prevent compatibility issues with older virtual machines when using advanced s. Ongoing maintenance in the has focused on trunk updates and patches addressing bug fixes, compatibility enhancements, and feature additions through community contributions via The Inbox repository. For instance, in 2025, the Multicast Project was introduced, providing support to bolster networking capabilities in distributed applications. Similarly, a refreshed package was integrated in April 2025 to improve overall connectivity and handling. These incremental updates ensure Squeak remains compatible with modern operating systems and hardware, with regular fixes reported in developer mailing lists for issues like image loading and plugin stability. SqueakJS, a JavaScript-based for running in web browsers, saw several key releases in 2024 and 2025 that expanded its utility for web and mobile deployment. The March 2025 release (1.3) added rendering support and made rendering optional for lighter footprints, while subsequent updates in April (1.3.2) and June (1.3.3) included fixes for foreign function interfaces (FFI), touch events, and mobile copy-paste functionality. Earlier 2024 releases like 1.2 introduced FFI, plugins, and for Sista bytecodes, enabling richer graphical and audio applications in browsers without native installation. These advancements position SqueakJS as a bridge for embedding environments in web-based and cross-platform scenarios. In , the SemanticText framework emerged as a pioneering integration of large language models (LLMs) into , facilitating conversational coding and debugging. Developed by the HPI-SWA Lab, it includes tools like for streaming responses within the , SemanticCorpus for building retrieval-augmented generation () systems using embeddings, and support for editing conversations or defining system prompts to assist exploratory programming. This framework enhances 's paradigm by allowing developers to query code semantics or generate snippets via , with demonstrations at events like the Squeak Meeting. The community has sustained momentum through regular publications and educational initiatives. The Weekly newsletter, published on news.squeak.org, has continued weekly since at least 2022, covering updates, projects, and events to foster engagement. In late 2024 and into 2025, a beginner-friendly series launched on programming a space in , spanning multiple lessons on Morphic graphics, event handling, and game logic to introduce core concepts accessibly. As of 2025, the Squeak Foundation oversees active maintenance, with emphasis on web deployment via SqueakJS and embedded systems through projects like , a WebAssembly-based VM for broader portability. Community events, such as the Smalltalks 2025 conference, underscore ongoing relevance in and research.

Design and features

Language characteristics

Squeak is a pure language where everything, including primitives like numbers and booleans, is treated as an object, inheriting ultimately from the root class Object or ProtoObject. This model emphasizes as the fundamental mechanism for interaction, where objects respond to messages sent to them, enabling dynamic behavior without explicit structures. The language features dynamic typing, meaning variables and method arguments do not require type declarations, allowing any object to be assigned to any variable at runtime, with checked via message responses. is achieved through message sends to blocks, which are first-class closures that capture their lexical environment and support patterns like higher-order functions. Squeak's syntax is minimalist, relying on six pseudo-variables—self, super, thisContext, nil, true, and false—and message expressions without keywords or punctuation for statements. Messages come in three forms: unary (e.g., 3 factorial), binary (e.g., 3 + 4), and keyword-based (e.g., array at: 1 put: 5), evaluated with precedence from unary to keyword and left-to-right associativity within the same type. Blocks are defined using square brackets, such as [ :x | x * 2 ] value: 3, enabling deferred execution and iteration methods like do: or collect:. For example, a simple conditional can be expressed as (x > 0) ifTrue: [ 'positive' ] ifFalse: [ 'non-positive' ]. Reflective capabilities are central to , allowing through runtime introspection and modification of code and objects. Methods like #class return an object's (e.g., 'hello' class yields ByteString), while #methodFor: retrieves a method by selector, facilitating dynamic analysis. Live coding supports immediate recompilation and testing of changes without restarting the system, using tools like to explore and alter running objects. Among Squeak's extensions to classic Smalltalk, support enables handling of international characters via WideString and methods like Character value: 500, enhancing text processing. The collections framework includes specialized structures such as OrderedCollection, which maintains insertion order and supports cascading adds (e.g., OrderedCollection new add: 1; add: 2; size returns 2). follows a block-based pattern with #on:do:, as in [1 / 0] on: ZeroDivide do: [:ex | 'handled' ], allowing graceful error recovery without traditional try-catch syntax. A representative example of class definition in Squeak is:
smalltalk
Object subclass: #Greeting
    instanceVariableNames: ''
    classVariableNames: ''
    poolDictionaries: ''
    category: 'Examples'.
This creates a new Greeting as a subclass of Object with no instance variables. A simple message send might then define and invoke a :
smalltalk
Greeting compile: 'sayHello ^Transcript show: ''Hello, [Squeak](/page/Squeak)!'''.
Greeting new sayHello.
This compiles the sayHello on the fly and executes it, outputting to the transcript.

Execution and virtual machine

Squeak employs a (VM) architecture that interprets Smalltalk while incorporating just-in-time () compilation for performance enhancement. The primary VM implementations are the and variants, both developed within the Smalltalk ecosystem and translated into C for execution. , introduced as an evolution of earlier Squeak VMs, features a stack-to-register mapping compiler that dynamically translates frequently executed methods into native , significantly improving runtime speed compared to pure interpretation. The memory manager builds upon by introducing optimized object representations that support both 32-bit and 64-bit architectures, enabling more efficient memory usage and larger address spaces. Released with 5.0, Spur facilitates 64-bit operation, which became viable starting around 2013 through iterative developments in the Cog/Spur lineage. This VM duo handles the core execution of Squeak images, which are binary snapshots of the entire object memory, preserving the state of all objects, classes, and methods for seamless persistence and resumption across sessions. In terms of execution model, code is first compiled into a compact format, which the VM interprets sequentially during . The process involves sending, invocations for low-level operations, and object allocation within a managed by a generational collector. This collector divides memory into a young generation (new space) for short-lived objects and an old generation (old space) for long-lived ones, performing frequent scavenging in the young space to minimize pauses and promoting surviving objects as needed. For enhanced performance, the JIT identifies code paths and compiles them on-the-fly, reducing overhead. Squeak's performance is further bolstered by features like 64-bit addressing, which allows handling larger datasets and images since its integration in 2013. The (FFI) enables seamless integration with C libraries, permitting direct calls to external code for tasks requiring native speed or hardware access, with support for both 32-bit and 64-bit targets. Concurrency is managed through a process-based threading model that implements : processes yield control voluntarily within the same priority level, while the scheduler preempts between different priorities to ensure responsiveness. Debugging in leverages the VM's tight integration with the language, providing source-level stepping directly in the interactive , which halts execution on errors or breakpoints and displays the call with editable code. Inspector tools allow runtime examination of object states, including instance variables, methods, and even bytecode disassembly, facilitating deep without halting the system. These capabilities stem from the VM's support for reflective queries, enabling developers to probe and modify executing code dynamically.

User interface frameworks

Squeak's primary user interface framework is Morphic, which enables direct manipulation of graphical elements through a modeless, interactive environment. Morphic represents user interfaces as a hierarchy of composable objects known as morphs, where each morph is a self-contained graphical entity that can contain submorphs to build complex structures. This composability allows developers to assemble interfaces incrementally, such as creating a simple window by instantiating a SystemWindow morph and adding submorphs like buttons or text fields via methods like addMorph:. Event handling in Morphic occurs through polymorphic methods on morphs, such as mouseDown: or keyStroke:, which respond to MorphicEvent instances dispatched by the active hand (a HandMorph tracking user input). Layout management is facilitated by specialized morphs like AlignmentMorph, which automatically arranges submorphs in rows or columns with options for spacing, alignment, and resizing behaviors, as seen in composite widgets like ScorePlayerMorph that packs sliders, buttons, and labels. As of Squeak 6.0 (released 2022), Morphic supports high-resolution displays on all major platforms, offering a flexible UI scale factor through improved graphics backends. Built atop Morphic, Etoys provides a tile-based visual scripting system designed for non-programmers, particularly in educational contexts, allowing users to create behaviors without writing code. In the Etoys model, graphical objects are treated as "players"—instances of morphs with exposed properties and commands—while "scriptors" serve as editable script containers where users drag and snap colorful tiles to define actions, loops, and conditions. This player-scriptor paradigm supports intuitive scripting, such as animating a player by assembling tiles for a "forever" loop, "move" command with direction and speed values, and optional pen trails to visualize paths, enabling children to program simple games or simulations directly on the desktop. Squeak also includes other frameworks for specialized UI needs. Tweak is an experimental rewrite of Morphic's UI and event systems, emphasizing improved performance and integration for collaborative environments like , with standalone images available for testing. As a legacy option, MVC (Model-View-Controller) persists from Smalltalk-80 origins, enforcing a strict separation where the model encapsulates data and logic, the view renders the interface, and the controller manages user input, identifiable in Squeak by its classic scrollbars and accessible via project menus for traditional GUI development.

Applications and uses

Educational tools

Squeak has played a pivotal role in educational programming through the Etoys system, a drag-and-drop visual scripting environment designed specifically for children to explore concepts in , , and without requiring traditional syntax. Built atop Squeak's Morphic interface framework, Etoys enables users to create interactive simulations and multimedia projects by manipulating graphical objects and scripting behaviors visually, fostering creativity and problem-solving from an early age. This tool draws inspiration from and emphasizes constructionist learning, where children actively build knowledge through hands-on creation. Etoys gained widespread adoption in educational initiatives, notably as a core application in the (OLPC) project from 2007 through the 2010s, where it was pre-installed on millions of XO laptops distributed to children in developing countries to promote self-directed learning. The system's simplicity and multimedia capabilities allowed young users to develop simulations, animations, and games, supporting offline exploration in resource-limited settings and contributing to global efforts in . The origins of the popular Scratch programming language further highlight Squeak's educational influence, with its first version developed in 2004 as a Squeak-based environment aimed at creating games and interactive stories through block-based scripting. This early iteration, built by researchers at MIT including John Maloney, extended Squeak's visual programming paradigm and directly inspired the block-based approach now ubiquitous in tools for teaching coding to novices. Supporting Squeak's use in classrooms, the "Squeak by Example" book, first published in 2007 and regularly updated with the latest editions aligning to Squeak releases such as version 6.0 in 2023, provides structured tutorials for beginners, covering language basics, tools, and practical exercises to build foundational programming skills. Complementing this, ongoing online lesson series, including a 2025 tutorial sequence on programming a space shooter game, offer step-by-step guidance with downloadable resources like code, images, and PDFs, making Squeak accessible for interactive learning projects. Through these tools, has significantly impacted in schools by enabling students to engage in simulations of real-world phenomena, such as physics models or narrative-driven stories, thereby developing skills in , , and algorithmic reasoning. Educational deployments, including Etoys on OLPC devices, have demonstrated how such environments empower children to transition from passive consumers to active creators, enhancing in diverse classroom settings worldwide.

Commercial and research projects

Squeak has been employed in several commercial projects leveraging its portability and object-oriented capabilities for collaborative and embedded applications. Open Cobalt, developed in the late 2000s, is an open-source 3D virtual world platform built directly on the Squeak environment, enabling multi-user collaborative spaces with real-time interaction and content creation. OpenQwaq, a collaboration software initiative from Teleplace in 2011, extended Croquet technology on Squeak to provide shared desktop environments for remote teams, supporting features like multi-user document editing and virtual meetings. In embedded systems, powered Nintendo's operating system in the early 2000s, allowing Smalltalk-based applications to run on resource-constrained devices through its lightweight . The Croquet Project, initiated in 2003, utilized as its core platform to create scalable, shared virtual environments, emphasizing synchronized multi-user interactions without centralized servers. Babelsberg/S is an implementation of constraint-based programming for /Smalltalk, allowing declarative specifications of relations between objects that are automatically solved, facilitating applications in simulations and interactive modeling. Recent research integrates with , as seen in SemanticText (2024), which employs large language models for natural-language and exploratory programming, translating user queries into Smalltalk code via semantic object interfaces. Among open-source contributions, the Seaside web framework, developed for , facilitates dynamic web applications through continuation-based programming, enabling seamless state management and component reuse in enterprise settings. SqueakDBX provides relational database connectivity for , wrapping OpenDBX drivers to support multiple backends like and , aiding data-intensive deployments. Squeak's simulation capabilities have supported case studies in discrete event modeling, inheriting Smalltalk's object-oriented simulation primitives for telephony traffic analysis and system prototyping in research environments.

Community and ecosystem

Development community

The Squeak Foundation, established in 2006, oversees the stewardship of the Squeak project, ensuring its ongoing development and maintenance as an open-source Smalltalk implementation. The foundation facilitates community discussions through mailing lists hosted at lists.squeakfoundation.org, which serve as primary forums for developers to collaborate on enhancements, bug fixes, and feature proposals. The Squeak Oversight Board, responsible for managing contributions and repository access, comprises key members including Marcel Taeumel, Vanessa Freudenberg, Eliot Miranda, Tim Rowledge, David T. Lewis, Christoph Thiede, and Rachel Crowther as of 2025. Prominent contributors include , who has provided ongoing architectural guidance since the project's inception, influencing core system design and portability. Vanessa Freudenberg led the development of JS, enabling execution in web browsers through a JavaScript-based . The community remains small but dedicated, with approximately 64 active participants posting on the squeak-dev mailing list over the past year, drawn from a subscriber base exceeding 1,000. Community activities include the publication of The Weekly Squeak newsletter, which summarizes recent developments and has continued with regular updates into 2025. Events such as the Smalltalks 2024 and 2025 conferences featured presentations on new refactorings in , including techniques like Move Method and Extract Class to support code evolution. Key resources for the community encompass the Swiki wiki, a collaborative platform for documentation and hosted at wiki.squeak.org. mirrors, such as those under the squeak-smalltalk organization, provide for packages like FileSystem and SqueakSSL. Beginner outreach efforts include a series published via The Weekly Squeak starting in late 2024, guiding newcomers through building applications like a to introduce core programming concepts. Pharo is a prominent fork of that originated in March 2008 from Squeak 3.9, with its first official release in 2010, emphasizing business-oriented development through a cleaner, more streamlined codebase suitable for professional applications. As of 2025, remains actively maintained, with version 13 released on May 21, highlighting ongoing evolution for enterprise use. In contrast to 's retention of legacy features for educational and experimental purposes, Pharo prioritizes simplicity by removing elements like constructors, static types, and interfaces, resulting in a more modern and maintainable structure. Cuis, another key fork, derives from Squeak 3.7 and emerged in the with a focus on minimalism, aiming to provide a compact, understandable implementation of Smalltalk-80 for efficient development and system comprehension. It emphasizes portability and clean design, stripping away non-essential components to enhance user ability to grasp the entire system. Cuis 6.0 was released in early 2022, continuing its evolution as a lightweight alternative. (Note: Using Squeak wiki as it's official project site.) Croquet, initiated in 2003, builds directly on as an open-source extension for 3D collaborative environments, enabling synchronized, network-transparent applications through its SDK. It leverages 's object-oriented foundation to support real-time multi-user interactions in virtual worlds, with the initial SDK release in 2007. Among influenced projects, , launched in 2007 by the , uses as its foundational implementation for versions 1.x, providing a block-based visual programming interface for creating targeted at children and beginners. , developed starting in November 2013, ports the virtual machine to , allowing unmodified Squeak images to run directly in web browsers without plugins. The OpenSmalltalk VM serves as a shared cross-platform supporting , , and Cuis, fostering interconnections through common execution environments and package compatibility.

Licensing and distribution

License history

's licensing originated from its development at Apple Computer's Advanced Technology Group in the mid-1990s, where it was implemented as a self-contained Smalltalk system with its written entirely in Smalltalk to enable portability without relying on proprietary code from PARC's Smalltalk-80. Released publicly in 1996, the initial distribution used the Open Source License, a custom agreement drafted with Apple's assistance that permitted free use, modification, distribution, and commercial applications without royalties, marking one of the earliest open-source s for a major . This license was designed to promote broad while protecting Apple's interests, and it was often described in early documentation as due to its no-cost availability and permissive terms. As the project evolved, particularly after the development team transitioned from Apple to in 1997, licensing complexities arose from contributions made under varying ownership arrangements. In 1999, the was refined to align more closely with emerging open-source standards, resembling the (APSL) in its structure, which emphasized availability for modifications while imposing some restrictions on patent grants and compatibility with licenses like the GPL. However, these terms drew criticism for not fully meeting criteria, such as those from the , limiting adoption in certain distributions. The period from 2001 to 2006 saw significant disputes over code ownership and trademark rights, exacerbated by the shift to and the influx of community contributions without unified licensing agreements, which risked entangling the codebase in proprietary claims. These challenges were addressed through extensive community coordination, including contributor agreements and negotiations with Apple and , culminating in the formation of the Foundation in 2005 to centralize intellectual property management and facilitate relicensing. In May 2006, Apple approved relicensing its original contributions under APSL version 2.0, which the recognized as compatible. Further community efforts led to a comprehensive relicensing initiative, securing permissions from all major contributors to dual-license the codebase under the MIT and Apache 2.0 licenses. This culminated in the release of 4.0 in March 2010, where most code fell under the and Apple's legacy portions under Apache 2.0, ensuring full open-source compatibility and removing prior restrictions. The transition to these permissive licenses resolved longstanding barriers, enabling derivative projects like and Etoys, and fostering widespread adoption in educational, research, and commercial contexts by allowing seamless integration and forking without legal hurdles.

Platforms and availability

Squeak supports a wide range of platforms, including Windows (x64), macOS (universal binaries), and distributions on both and ARMv8 architectures. This includes compatibility with single-board computers such as the through ARMv8 builds. For embedded and web-based deployment, SqueakJS provides a JavaScript-based that runs unmodified Squeak images in modern web browsers, including support for as of 2025 enhancements for improved performance. Mobile accessibility is facilitated through browser-based execution via SqueakJS on and devices, as well as experimental ports of the OpenSmalltalk VM for native mobile environments. Distribution occurs primarily through official channels on squeak.org, where users can download pre-built virtual machines (VMs) and image files in formats like ZIP for Windows and Linux, TAR.GZ for Linux, and DMG for macOS. Source code for the VM is hosted on GitHub under the OpenSmalltalk organization, enabling compilation for custom platforms. Extensions and additional packages are managed via package universes, which allow one-click installation of compatible sets through the built-in package loader. Installation is straightforward with all-in-one files, typically around 100 MB in size, that bundle the core environment and can be launched by dragging onto the appropriate VM executable. VM options include the high-performance VM for and the traditional Stack VM for interpreter-based execution, both available as 64-bit builds. On , users may need to install X11 dependencies and 32-bit libraries for full compatibility on 64-bit systems. Maintenance involves regular updates delivered through the inbox mechanism on source.squeak.org, where community contributions are reviewed and integrated into the trunk image. As of 2025, efforts have emphasized enhancing via SqueakJS and integrating AI tooling, such as support for code assistance and semantic text processing within the environment.

References

  1. [1]
    Squeak/Smalltalk
    Welcome to Squeak/Smalltalk. Squeak is a modern, open-source Smalltalk programming system with fast execution environments for all major platforms. It features ...Downloads · Documentation · Squeak Swiki · The Weekly Squeak
  2. [2]
  3. [3]
    Projects - Squeak/Smalltalk
    Squeak is a modern, open source, full-featured implementation of the powerful Smalltalk programming language and environment.
  4. [4]
    Squeak Swiki
    Mar 6, 2025 · Squeak is a tightly integrated software development environment for live software construction using the object-oriented programming language Smalltalk.
  5. [5]
    the future: the story of Squeak, a practical Smalltalk written in itself
    Back to the future: the story of Squeak, a practical Smalltalk written in itself. Squeak is an open, highly-portable Smalltalk implementation whose virtual ...
  6. [6]
    Squeak Versions
    Aug 29, 2022 · 3.5 was released in April 2003. This was just a quick re-release of 3.4, with a couple of important bugfixes included. (A ClassBuilder fix which ...
  7. [7]
    Etoys - The OLPC Wiki
    Sep 5, 2014 · Etoys and Squeak (in the past, The current Etoys system was often referred to as "Squeak") have been used widely, and there are many ...
  8. [8]
  9. [9]
  10. [10]
    SqueakJS by Vanessa Freudenberg
    Squeak is a modern implementation of Smalltalk, the original dynamic object-oriented programming environment. It runs on virtually any platform, and now in the ...Mini · Launcher · Scratch · Etoys
  11. [11]
    hpi-swa-lab/Squeak-SemanticText: ChatGPT, embedding ... - GitHub
    ChatGPT: Conversational GUI for Squeak. Supports streaming responses, editing conversations, and defining system messages. SemanticCorpus: Framework for ...Missing: 2024 | Show results with:2024
  12. [12]
    SemanticText: Improving Exploratory Programming in Squeak with ...
    Nov 27, 2024 · In this talk, I'll present SemanticText, a new framework that integrates large language models (LLMs) into Squeak/Smalltalk.Missing: Text | Show results with:Text
  13. [13]
    The Weekly Squeak
    ### Summary of Squeak Milestones and Community Activities (2020–2025)
  14. [14]
    Introduction/Lesson 1: Programming the Shooter Game in Squeak ...
    Dec 19, 2024 · This article kicks off a series designed to introduce programming to beginners through the creation of a simplified space shooter game using Squeak.
  15. [15]
    Lesson 7: Programming the Shooter Game in Squeak/Smalltalk
    Let us dive into the exciting process of game creation! In this lesson, you will begin writing the actual code that brings your game to life ...
  16. [16]
  17. [17]
    [PDF] Squeak by Example - Hal-Inria
    Dec 16, 2009 · What is Squeak? Squeak is a modern, open source, fully-featured implementation of the. Smalltalk programming language and environment. Squeak ...
  18. [18]
    [PDF] The Squeak Syntax Reference
    Smalltalk is a dynamically typed language, and therefore you never have to specify the type of a variable or method argument. Parts of this chapter are freely ...
  19. [19]
    [PDF] Squeak Smalltalk: Quick Reference
    Version 0.0, 20 November 1999, by Andrew C. Greenberg, werdna@mucow.com. Version 01., 10 April 2001, by Andrew P. Black, black@cse.ogi.edu.<|control11|><|separator|>
  20. [20]
    Documentation - Squeak/Smalltalk
    Squeak is a modern, open source, full-featured implementation of the powerful Smalltalk programming language and environment.
  21. [21]
    About Cog - Cog Blog
    Like the original Squeak VM, Cog is implemented and developed in Smalltalk, and translated into a lower-level language to produce the production VM. Â Being a ...
  22. [22]
    OpenSmalltalk/opensmalltalk-vm: Cross-platform virtual machine for ...
    Cog is an evolution of the Squeak Back-to-the-future Smalltalk virtual machine that provides a number of different Smalltalk virtual machines. The VMs are ...
  23. [23]
    [PDF] How to Build a High-Performance VM for Squeak/Smalltalk in Your ...
    Aug 24, 2016 · Cog is a very high performance virtual machine for Squeak, Pharo, Cuis, and Newspeak that adds a stack-to-register-mapping just-in- time ...<|control11|><|separator|>
  24. [24]
    Virtual Machine (Overview) - Squeak
    Jun 21, 2020 · Spur VM Improves on Cog with new object representations for both 32-bit and 64-bit words. Released in Squeak 5.0; SistaV1 VM (under development) ...
  25. [25]
    A Spur gear for Cog - Cog Blog
    Sep 5, 2013 · Speeding Up Terf, Squeak, Pharo and Croquet with a fast open-source Smalltalk VM.Missing: virtual architecture
  26. [26]
    [PDF] A Tour of the Squeak Object Engine - Rowledge.org
    In this section we will consider the basics of object allocation, message sending, bytecode and primitive execution, and garbage collection. 1. Creating Objects.
  27. [27]
    SqueakJS - the Smalltalk Zoo
    Only in relatively rare circumstances is a "manual" garbage collection needed. This hybrid GC is a generational GC with an old space and a new space. Old ...
  28. [28]
    Back to the Future - squeak.org
    Storage Management. Apple Smalltalk had achieved good garbage collection behavior with a simple two-generation approach similar to [Unga84]. At startup, and ...
  29. [29]
    How one supports both 32 and 64 bits target in Squeak FFI
    Apr 11, 2018 · On the platforms I want to support, I know it will be uint32_t and uint64_t, which translates to unsigned long and unsigned long long ...How one deals with typedefs in Squeak FFI - Stack OverflowWhat is the syntax for the Squeak FFI in the new Squeak (5.0)More results from stackoverflow.com
  30. [30]
    Squeak Threading Model
    May 31, 2007 · The Squeak scheduler is cooperative between threads of the same priority, and preemptive between threads of different priorities.Missing: multitasking | Show results with:multitasking
  31. [31]
    Debugger - Squeak
    Dec 31, 2019 · An essential tool in Squeak for debugging Smalltalk code. This is the pink-colored window which appears when any Smalltalk error (such as a Message Not ...Missing: level | Show results with:level
  32. [32]
    [PDF] Chapter 2 A Tour of Squeak - RMOD Files
    Inspectors are amazingly powerful tools when debugging. Play with some of the yellow-button menus in the inspector. As an example of a powerful tool, you ...
  33. [33]
    How do I debug Squeak source code? - Stack Overflow
    Feb 14, 2011 · Can you give me some hints on how to debug the code, so I can trace the code behavior? Like open a workspace, type 4/3, I can inspect into ...Missing: level | Show results with:level
  34. [34]
    [PDF] An Introduction to Morphic: The Squeak User Interface Framework
    Morphic is a user interface framework that makes it easy and fun to build lively interactive user interfaces. Morphic handles most of the drudgery of display.
  35. [35]
    Morphic - Squeak
    Jun 8, 2018 · Morphic is a direct-manipulation User Interface (UI) construction kit based on display trees. It works with graphical objects called Morphs.
  36. [36]
    Etoys - Squeak
    Jul 22, 2018 · Etoys is a Squeak app for extending Morphic through tile-based scripts. It evolved out of experiments with Scripting with Players.
  37. [37]
    [PDF] Children Learning by Doing: Squeak Etoys on the OLPC XO.
    All Objects Are Scripted The Same Way. Scripts are made by dragging out tiles onto the desktop, and then dragging tiles into the script. Syntax is always ...
  38. [38]
    Tweak - Squeak
    Aug 3, 2020 · Tweak is a rewrite of the Morphic UI and events framework. It's used in Croquet, or you can download standalone images containing the latest version.
  39. [39]
    MVC
    ### Summary of MVC in Squeak: Legacy Framework, Model-View-Controller Separation
  40. [40]
    squeakland : home of squeak etoys
    Oct 16, 2014 · Etoys is an educational tool for teaching children powerful ideas in compelling ways. Etoys is a media-rich authoring environment and visual ...
  41. [41]
    Etoys for One Laptop Per Child | IEEE Conference Publication
    OLPC Etoys is an end-user authoring system for children, which was chosen to be distributed with the OLPC XO laptops at an early stage of the OLPC project.
  42. [42]
    (PDF) Etoys for One Laptop Per Child - ResearchGate
    OLPC Etoys is an end-user authoring system for children, which was chosen to be distributed with the OLPC XO laptops at an early stage of the OLPC project.
  43. [43]
    What's Scratch's Origin? - Discuss Scratch - MIT
    Jul 4, 2023 · Scratch itself was conceptualized out of the 2001 Etoys; both Etoys and early versions of Scratch were written in Squeak by John Maloney.
  44. [44]
    Scratch - Squeak/Smalltalk
    Jun 15, 2018 · The original Scratch is an environment built on Squeak in the spirit of Etoys and SqueakLand but geared more towards making games and simulations.Missing: origin | Show results with:origin
  45. [45]
    [PDF] Squeak Etoys, Children & Learning - Huihoo
    Finally, Squeak Etoys is a media system and web plugin which includes players and models of many kinds of media. These allow many kinds of presentations of ...
  46. [46]
    Learning Squeak from Scratch - OLPC News
    May 28, 2007 · Squeak is the underlying language beneath both etoys and Scratch. Both Etoys and Squeak will be pre-loaded on XOs when they are released, but ...<|control11|><|separator|>
  47. [47]
    2011 - The Hitchhiker's Guide to ...
    Dec 29, 2011 · Teleplace today announced OpenQwaq, a major open source initiative for collaboration based on Squeak Smalltalk. To quote: The OpenQwaq project ...
  48. [48]
    Nintendo ES - FOSSwire
    Dec 4, 2007 · The OS is written in C++, runs EMCAScript (JavaScript), uses Cairo for rendering, and as of recently, can run Squeak, a Smalltalk programming ...
  49. [49]
    [PDF] Croquet: A Collaboration System Architecture - tinlizzie.org
    It is a totally open, totally free, highly portable extension to the Squeak [5] programming system. Croquet is a complete development and delivery platform for ...
  50. [50]
    [PDF] Talking to Objects in Natural Language: Toward Semantic Tools for ...
    Oct 25, 2024 · The paper proposes semantic object interfaces that enable natural-language conversations with objects, using an LLM to translate questions into ...
  51. [51]
    SeasideSt/Seaside: The framework for developing ... - GitHub
    Seaside for Squeak mostly works but is unmaintained. If you want to help out keeping Seaside running on Squeak, please contact us via the channels mentioned in ...
  52. [52]
    SqueakDBX - SqueakSource
    Mar 27, 2008 · An OpenDBX (http://www.linuxnetworks.de/doc/index.php/OpenDBX) plugin for Squeak. See http://www.squeakdbx.org/. Members. Creator: Esteban ...
  53. [53]
    The Smalltalk simulation environment - ACM Digital Library
    The Smalltalk language provides easy to use support for discrete event simulation. Smalltalk is an object oriented language which is descended from Simula.Missing: telephony | Show results with:telephony
  54. [54]
    April 2006 - Squeak-dev - lists.squeakfoundation.org
    Apr 6, 2006 · ... formed and started working. As always, progress is not as fast ... Squeak Foundation board Members Here is the current list: http://www ...
  55. [55]
    Squeak Oversight Board
    Current Board Members (2025) · Marcel Taeumel · Vanessa Freudenberg · Eliot Miranda · Tim Rowledge · David T. Lewis · Christoph Thiede · Rachel Crowther.
  56. [56]
    Dan Ingalls - The Weekly Squeak
    Sep 20, 2011 · Dan's major contributions to the Squeak system include the original concept of a Smalltalk written in itself and made portable and efficient ...
  57. [57]
    Some Community numbers - Squeak-dev - lists.squeak.org
    Currently 1013 people are actively subscribed to the squeak-dev mailing list. Looking at the past year until now about 64 people have posted something at least ...
  58. [58]
    Smalltalks 2024 - Talks
    In this talk I will present those nre refactoring such as Move Method, Move Instance Variable, Extract Class among others. M. Cabezón Alvarez. H. Wilkinson.
  59. [59]
    squeak-smalltalk - GitHub
    FileSystem is a Smalltalk API for accessing files and directories. This is an implementation for Squeak/Smalltalk.
  60. [60]
    March 2025 - Beginners - lists.squeakfoundation.org
    Mar 26, 2025 · The fifth article in the series on programming for beginners with Squeak is now available. This article explains Lesson 5, which begins the ...
  61. [61]
    [PDF] Pharo by Example
    The Pharo project started in March 2008 as a fork of. Squeak 3.9, and ... Story of Squeak, a Practical Smalltalk Written in. Itself. In Proceedings of ...
  62. [62]
    Pharo - Welcome to Pharo!
    - **Origin**: Pharo is a fork of Squeak, a pure object-oriented programming language.
  63. [63]
  64. [64]
  65. [65]
    Cuis-Smalltalk
    ### Summary of Cuis from https://cuis.st/
  66. [66]
    Features | Cuis-Smalltalk
    Cuis is a very compact implementation of Smalltalk. The user ability to understand the system is one of the major concern of the Cuis' community.<|separator|>
  67. [67]
    Cuis - Squeak
    Feb 2, 2022 · Cuis is like Pharo a fork of Squeak. It started from Squeak 3.7. At the beginning of 2022 Cuis 6.0 was released.Missing: Croquet | Show results with:Croquet
  68. [68]
    (PDF) Croquet - A collaboration system architecture - ResearchGate
    It is a totally open, totally free, highly portable extension to the Squeak (Ingalls et al., 2002) programming system. ... Croquet is the software architecture ...
  69. [69]
    Croquet - WebSeitz/wiki
    Jul 10, 2025 · Croquet's relationship to Squeak gives Croquet the property of a purely object-oriented system. ... Since release of the Croquet SDK in 2007, the ...
  70. [70]
    Scratch: programming for all: Communications of the ACM
    Scratch (http://scratch.mit.edu) is a new programming language that makes it easy to create interactive stories, music, games, art, and animations - and ...
  71. [71]
    OpenSmalltalk
    OpenSmalltalk. The cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak. cog. Source code on github.
  72. [72]
    The Rise and Fall of Commercial Smalltalk - Rebecca Wirfs-Brock
    Jun 2, 2020 · In 1987 most of the remaining Xerox PARC Smalltalkers, led by Adele Goldberg, spun-off into a startup company, ParcPlace Systems. Their initial ...Missing: origins Advanced<|control11|><|separator|>
  73. [73]
    [PDF] The Evolution of Smalltalk
    Alan Kay was a constant coach and consultant on these early precursors to later media work in Squeak, and he was always the first to try out any new capability.
  74. [74]
  75. [75]
    Squeak - Wikipedia
    Squeak is an object-oriented, class-based, and reflective programming language. It was derived from Smalltalk-80 by a group that included some of Smalltalk-80' ...
  76. [76]
    Various Licenses and Comments about Them - GNU Project
    Apple Public Source License (APSL), version 2 (#apsl2). This is a free ... Old Squeak license (#Squeak). The original Squeak license, as applied to ...
  77. [77]
    2006-09-20 SqF board notes - Squeak-dev - Squeak Mailing Lists
    As you may remember, Apple has relicensed the original Squeak release under APSL2 (see [1]). We'd like to enable releases composed of material from that ...
  78. [78]
    (obsolete) Dual Licensing - Squeak
    Every company that deals with a Source code license faces the same problems. ... license is possibly the best license for Squeak and to approach Apple for.
  79. [79]
    Intent to Change License for Squeak 4.0 - MIT/Apache - Vm-dev ...
    Squeak 4.0 is scheduled to be released on Monday, March 15th, 2010 and will be licensed under the MIT License [1] with some original parts remaining under the ...
  80. [80]
    License - Squeak/Smalltalk
    Squeak's code is mostly under the MIT license, with some parts under the Apache license. Some in-image resources may have extra licenses.Missing: history | Show results with:history
  81. [81]
    Downloads - Squeak/Smalltalk
    Squeak is a modern, open source, full-featured implementation of the powerful Smalltalk programming language and environment.
  82. [82]
    codefrau/SqueakJS: A Squeak Smalltalk VM in Javascript - GitHub
    SqueakJS is a runtime engine for Squeak Smalltalk written in pure JavaScript. It also works for many other OpenSmalltalk-compatible images.
  83. [83]
    Package Universes - Squeak
    Nov 27, 2015 · Package universes are an approach to supporting no-hassle installs via a package loader. See Why Packages Universes Exist for an argument that ...
  84. [84]
  85. [85]
    Integrating AI Language Models into Smalltalk Development ...
    A central goal of the project was to enable conversations with the AI model from within any text pane in Squeak, utilizing Smalltalk's classic “ ...