Green — 37 exercises, 8 chapters. Chapter 07 (07-equality) is in and validated. #6

Merged
navicore merged 1 commit from chapter07 into main 2026-06-10 16:33:34 +00:00
Owner

What landed

Five exercises, each probe-verified against plgc before authoring:

  1. 01-identity (==) — fills the empty fourth corner of the chapter-05 grid. The teaching spine: 1 == 1.0 is
    false while 1 =:= 1.0 is true — the term world vs the number world. Also shows == never binds (X == a fails
    where = would succeed).
  2. 02-not-identical (==) — the guard form, with the three-way disambiguation it always needs: == (terms) vs
    == (numbers) vs = (not-unifiable).
  3. 03-standard-order (@</@>/@=</@>=) — Variables < Numbers < Atoms < Compounds; numbers by value;
    float-before-equal-int; and the "not arithmetic" case 2 + 2 @< 5 is false (the compound sorts after the number
    even though 2+2 < 5).
  4. 04-compare (compare/3) — the three-way </=/> in one call, including the O == (<) parenthesization gotcha.
  5. 05-sorting (sort/2 vs msort/2) — capstone tying ordering to the builtins; the one-word difference is
    duplicates, and it sorts mixed-kind lists ([foo(2),5,a,foo(1)] → [5,a,foo(1),foo(2)]).

Through-line preserved

The chapter explicitly reopens the chapter-05 grid and closes it with ==, so the is/=/=:= work you flagged now
extends cleanly into ==/=:=. Coverage matrix in curriculum-expansion.md has 07 checked off; README/ROADMAP
tables refreshed.

Per the design doc's priority order, the next-biggest wins are 08-control (;, -> ;, once, +) and
10-list-library (append/3's multi-mode magic). Both untouched, both core. Say the word and I'll start one.

What landed Five exercises, each probe-verified against plgc before authoring: 1. 01-identity (==) — fills the empty fourth corner of the chapter-05 grid. The teaching spine: 1 == 1.0 is false while 1 =:= 1.0 is true — the term world vs the number world. Also shows == never binds (X == a fails where = would succeed). 2. 02-not-identical (\==) — the guard form, with the three-way disambiguation it always needs: \== (terms) vs =\= (numbers) vs \= (not-unifiable). 3. 03-standard-order (@</@>/@=</@>=) — Variables < Numbers < Atoms < Compounds; numbers by value; float-before-equal-int; and the "not arithmetic" case 2 + 2 @< 5 is false (the compound sorts after the number even though 2+2 < 5). 4. 04-compare (compare/3) — the three-way </=/> in one call, including the O == (<) parenthesization gotcha. 5. 05-sorting (sort/2 vs msort/2) — capstone tying ordering to the builtins; the one-word difference is duplicates, and it sorts mixed-kind lists ([foo(2),5,a,foo(1)] → [5,a,foo(1),foo(2)]). Through-line preserved The chapter explicitly reopens the chapter-05 grid and closes it with ==, so the is/=/=:= work you flagged now extends cleanly into ==/=:=. Coverage matrix in curriculum-expansion.md has 07 checked off; README/ROADMAP tables refreshed. Per the design doc's priority order, the next-biggest wins are 08-control (;, -> ;, once, \+) and 10-list-library (append/3's multi-mode magic). Both untouched, both core. Say the word and I'll start one.
Green — 37 exercises, 8 chapters. Chapter 07 (07-equality) is in and validated.
All checks were successful
CI - Linux / CI - Linux x86_64 (pull_request) Successful in 44s
dc0698220b
What landed

  Five exercises, each probe-verified against plgc before authoring:

  1. 01-identity (==) — fills the empty fourth corner of the chapter-05 grid. The teaching spine: 1 == 1.0 is
  false while 1 =:= 1.0 is true — the term world vs the number world. Also shows == never binds (X == a fails
  where = would succeed).
  2. 02-not-identical (\==) — the guard form, with the three-way disambiguation it always needs: \== (terms) vs
  =\= (numbers) vs \= (not-unifiable).
  3. 03-standard-order (@</@>/@=</@>=) — Variables < Numbers < Atoms < Compounds; numbers by value;
  float-before-equal-int; and the "not arithmetic" case 2 + 2 @< 5 is false (the compound sorts after the number
  even though 2+2 < 5).
  4. 04-compare (compare/3) — the three-way </=/> in one call, including the O == (<) parenthesization gotcha.
  5. 05-sorting (sort/2 vs msort/2) — capstone tying ordering to the builtins; the one-word difference is
  duplicates, and it sorts mixed-kind lists ([foo(2),5,a,foo(1)] → [5,a,foo(1),foo(2)]).

  Through-line preserved

  The chapter explicitly reopens the chapter-05 grid and closes it with ==, so the is/=/=:= work you flagged now
  extends cleanly into ==/=:=. Coverage matrix in curriculum-expansion.md has 07 checked off; README/ROADMAP
  tables refreshed.

  Per the design doc's priority order, the next-biggest wins are 08-control (;, -> ;, once, \+) and
  10-list-library (append/3's multi-mode magic). Both untouched, both core. Say the word and I'll start one.
navicore deleted branch chapter07 2026-06-10 16:33:34 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
navicore/loglings!6
No description provided.