Files
shard-wiki/research/260614-literate-programming-deep-dive/README.md
tegwick d4afce3699 research: literate programming deep dive (WEB/weave/tangle); UC-83 (SHARD-WP-0004 T1)
One source → N co-equal derived projections (weave=docs, tangle=code);
named-chunk transclusion; splits replication- vs derivation-projection.
Generalizes compile-to-static (UC-79). Enriches UC-32/44/79; links UC-54.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 22:43:30 +02:00

36 lines
1.6 KiB
Markdown

# 260614 — Literate Programming (Knuth's WEB / weave / tangle) deep dive
Date: 2026-06-14 · Source: **SHARD-WP-0004 T1**
## What this is
A deep dive into **literate programming** — Knuth's WEB and the **`weave`/`tangle`** model
— as the deepest ancestor of shard-wiki's **projection** and **transclusion** ideas
applied to *executable* content. The keystone: **one canonical source → two co-derived
projections** (typeset docs via `weave`, compilable code via `tangle`), plus **named code
chunks** assembled by reference (transclusion).
## Why it matters
- Establishes **one-source-many-projections** as a page-model + projection pattern that
*generalizes* compile-to-static (UC-79, single output) to **N co-equal, semantically
different** derived views — feeds SHARD-WP-0002 **T12/T16**.
- Splits projection into **replication-projection** (lazy cache, current default) vs
**derivation-projection** (transform/compile/weave/evaluate) — a distinction the rest of
the computational batch (notebooks, REPLs) extends.
- Named chunks are the **executable-content face of transclusion / compose-by-reference**
(UC-32 / UC-44).
## Yield
- **UC-83** (new): attach a single-source-multiple-projection (literate) artifact; present
each derived view with output→source provenance; edits target the source.
- Enrich **UC-32**, **UC-44**, **UC-79**; links **UC-54** (computed/evaluated projection,
→ T3 Jupyter).
## Contents
| Path | Role |
|------|------|
| `findings.md` | WEB model, named-chunk transclusion, descendants (noweb/org-babel/knitr/Jupytext), capability profile, INTENT mapping, UC seed, architecture notes, open questions |