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

34 lines
1.6 KiB
Markdown

# 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) |