Files
shard-wiki/research/260614-squeak-pharo-deep-dive/README.md
tegwick 56b6cdd110 research: Squeak & Pharo deep dive (image-based Smalltalk); SHARD-WP-0004 T6+T8
Combined memo (justified merge). The image = purest 'live' end; hardens
the image-is-not-a-store boundary (export->files only), generalizing
'attach files not the kernel/image'. Pharo Tonel/Iceberg confirms even
image traditions externalize to git text. Names the live<->snapshot
projection axis (T16). Boundary/enrichment-only, no new UC. Marks T6+T8 done.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 23:54:48 +02:00

1.6 KiB

260614 — Squeak & Pharo (image-based Smalltalk) deep dive

Date: 2026-06-14 · Source: SHARD-WP-0004 T6 (Squeak) + T8 (Pharo) — combined memo (justified merge: both are image-based Smalltalks; Pharo is T8's thin "context for T6/T7").

What this is

A deep dive into the image-based live-object environment — Squeak and Pharo (the substrate Glamorous Toolkit T7 runs on): the image as a persistent world of live objects with no file/document/app boundary, the live inspector, and Pharo's retreat to code-as-text in git (Tonel/Iceberg).

Why it matters

  • The purest "live" end of the batch's spectrum (literate source → notebook snapshot → GT/Lepiter live-over-files → image: everything live). Names the live↔snapshot axis the projection model (T16) must carry.
  • Hardens the image-is-not-a-store boundary (opaque monolithic non-diffable blob; no page identity/history/provenance) — generalizes "attach files, not the kernel/image" (UC-84, T7) into a named binding boundary (T14).
  • Pharo confirms the resolution: even image traditions externalize to git-versionable text (Tonel) to version/collaborate — files-canonical from the Smalltalk side.

Yield

  • No new UC (boundary / design prior art; covers T6 and T8). Boundary for UC-34/35/79; links UC-83/84 (live→snapshot), UC-54/47/48 (live-object inspection), UC-76/79 (Tonel/git).

Contents

Path Role
findings.md The image & live objects, the image-as-store anti-pattern, Pharo Tonel/Iceberg→git, INTENT mapping, UC disposition (enrichment-only), architecture notes (T14 boundary, T16 live↔snapshot axis)