From 5e8f4bed438aa371e42386ec6d6f46dceb55e3b9 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Sun, 31 May 2026 00:43:08 +0100 Subject: [PATCH] =?UTF-8?q?docs(spec):=20add=20four-layer=20intro=20paragr?= =?UTF-8?q?aph=20per=20PRESERVATION-DESIGN=20=C2=A712.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Executes `formal/PRESERVATION-DESIGN.md` §12.6 — the canonical-spec rollout. Adds the prescribed intro paragraph (one paragraph each) to both spec documents: - `spec/SPEC.md` (formal versioned spec) — inserted after §1.1 Overview. - `spec/ephapax-spec.md` (complete-language spec v0.1) — inserted after the Purpose block. The paragraph names the four orthogonal disciplines (L1 region capabilities / L2 modality / L3 echo / L4 dyadic mode), explicitly labels the normative scope (L1 + L2) vs forward-looking scope (L3 + L4), and cross-references the vision doc and the design doc. The full L1 sibling-safety theorem statement and the L3 "Echo Types: future extension, not normative" subsection prescribed by §12.6's bullet list are out of scope for this PR — they require substantive spec edits that should each be reviewed individually per the per-document rollout pattern §12 establishes. No proof, code, workflow, or schema changes. Pure documentation rollout. Companion to README #256 / EXPLAINME #257 / vision #258 / ROADMAP #259 / ephapax-linear #260. Co-Authored-By: Claude Opus 4.7 (1M context) --- spec/SPEC.md | 2 ++ spec/ephapax-spec.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/spec/SPEC.md b/spec/SPEC.md index d2c1555..0202a70 100644 --- a/spec/SPEC.md +++ b/spec/SPEC.md @@ -13,6 +13,8 @@ Ephapax (from Greek ἐφάπαξ, "once for all") is a programming language with a linear type system designed for safe memory management targeting WebAssembly. +Ephapax's type system has four orthogonal disciplines: **L1** region capabilities, **L2** structural modality (linear/affine), **L3** irreversibility residue (Echo Types — planned), and **L4** dyadic interaction mode (project-level declaration). This specification is normative for L1 and L2 and forward-looking for L3 and L4. See [`docs/vision/EPHAPAX-VISION.adoc`](../docs/vision/EPHAPAX-VISION.adoc) for the dyad framing and [`formal/PRESERVATION-DESIGN.md`](../formal/PRESERVATION-DESIGN.md) for the per-layer design. + ### 1.2 Design Goals 1. **Memory Safety**: Prevent use-after-free, double-free, and memory leaks diff --git a/spec/ephapax-spec.md b/spec/ephapax-spec.md index 95ee913..97ea9da 100644 --- a/spec/ephapax-spec.md +++ b/spec/ephapax-spec.md @@ -14,6 +14,8 @@ language combining: The dyadic principle: both disciplines coexist at per-binding granularity. +Ephapax's type system has four orthogonal disciplines: **L1** region capabilities, **L2** structural modality (linear/affine), **L3** irreversibility residue (Echo Types — planned), and **L4** dyadic interaction mode (project-level declaration). This specification is normative for L1 and L2 and forward-looking for L3 and L4. See [`docs/vision/EPHAPAX-VISION.adoc`](../docs/vision/EPHAPAX-VISION.adoc) for the dyad framing and [`formal/PRESERVATION-DESIGN.md`](../formal/PRESERVATION-DESIGN.md) for the per-layer design. + --- # PART 1: LEXICAL GRAMMAR