Chapter 10 (10-list-library) #9

Merged
navicore merged 4 commits from chapter10 into main 2026-06-19 16:35:05 +00:00
Owner

The arc

Six exercises, each probe-verified, each with a worked example on a different predicate than the task:

  1. 01-member — member/2's two faces (test vs generate). Task: shared/3 (common element), which uses member to
    generate from one list and test against the other.
  2. 02-append — append/3 forward (join). Task: sentence/4, joining three word-lists via two chained appends —
    explicitly teeing up that append "has a stranger side."
  3. 03-split — the payoff: append/3 run backwards. Prose shows all four splits of [1,2,3] and prefix-peeling,
    then task starts_with/2 as append(Prefix, _, List). This is the functional-vs-relational "aha" — one definition,
    many modes.
  4. 04-reverse — reverse/2. Task: palindrome/1 as reverse(L, L) — the insight (a list that is its own reversal)
    is left for the student to reach; the prose only shows plain reversal.
  5. 05-describe — length/2 + last/2. Task: describe/3. Prose flags the plgc boundary: length/2 is count-only —
    generative length(L, N) runs away (resource_error(steps)), so don't lean on it.
  6. 06-between — capstone tying chapters together: between/3 as a generator feeding findall/3 (ch00) with a mod
    evenness test (ch01) → even_range/3.

Notes

  • All six target builtins (member append reverse length last between) appear in solutions — the design doc's
    coverage check is satisfied.
  • I caught two hints (01, 06) that printed the answer verbatim and rewrote them to nudge — the leak test only
    flags a literal heading, but the principle is the principle.
  • Recorded the length/2 count-only boundary as a memory; it's a natural demo for the future 16-engine-boundaries
    chapter.

Coverage matrix now marks 10 ✓. Per the plan, the remaining priority chapters are 11 (meta & term construction),
12 (type-test guards), 13 (arithmetic depth), 14 (atoms & text), 15 (exceptions), 16 (engine boundaries). Ready
when you are.

The arc Six exercises, each probe-verified, each with a worked example on a different predicate than the task: 1. 01-member — member/2's two faces (test vs generate). Task: shared/3 (common element), which uses member to generate from one list and test against the other. 2. 02-append — append/3 forward (join). Task: sentence/4, joining three word-lists via two chained appends — explicitly teeing up that append "has a stranger side." 3. 03-split — the payoff: append/3 run backwards. Prose shows all four splits of [1,2,3] and prefix-peeling, then task starts_with/2 as append(Prefix, _, List). This is the functional-vs-relational "aha" — one definition, many modes. 4. 04-reverse — reverse/2. Task: palindrome/1 as reverse(L, L) — the insight (a list that is its own reversal) is left for the student to reach; the prose only shows plain reversal. 5. 05-describe — length/2 + last/2. Task: describe/3. Prose flags the plgc boundary: length/2 is count-only — generative length(L, N) runs away (resource_error(steps)), so don't lean on it. 6. 06-between — capstone tying chapters together: between/3 as a generator feeding findall/3 (ch00) with a mod evenness test (ch01) → even_range/3. Notes - All six target builtins (member append reverse length last between) appear in solutions — the design doc's coverage check is satisfied. - I caught two hints (01, 06) that printed the answer verbatim and rewrote them to nudge — the leak test only flags a literal heading, but the principle is the principle. - Recorded the length/2 count-only boundary as a memory; it's a natural demo for the future 16-engine-boundaries chapter. Coverage matrix now marks 10 ✓. Per the plan, the remaining priority chapters are 11 (meta & term construction), 12 (type-test guards), 13 (arithmetic depth), 14 (atoms & text), 15 (exceptions), 16 (engine boundaries). Ready when you are.
● Done. Chapter 10 (10-list-library) — 53 exercises, all green.
All checks were successful
CI - Linux / CI - Linux x86_64 (pull_request) Successful in 1m2s
1aae38ebbc
The arc

  Six exercises, each probe-verified, each with a worked example on a different predicate than the task:

  1. 01-member — member/2's two faces (test vs generate). Task: shared/3 (common element), which uses member to
  generate from one list and test against the other.
  2. 02-append — append/3 forward (join). Task: sentence/4, joining three word-lists via two chained appends —
  explicitly teeing up that append "has a stranger side."
  3. 03-split — the payoff: append/3 run backwards. Prose shows all four splits of [1,2,3] and prefix-peeling,
  then task starts_with/2 as append(Prefix, _, List). This is the functional-vs-relational "aha" — one definition,
  many modes.
  4. 04-reverse — reverse/2. Task: palindrome/1 as reverse(L, L) — the insight (a list that is its own reversal)
  is left for the student to reach; the prose only shows plain reversal.
  5. 05-describe — length/2 + last/2. Task: describe/3. Prose flags the plgc boundary: length/2 is count-only —
  generative length(L, N) runs away (resource_error(steps)), so don't lean on it.
  6. 06-between — capstone tying chapters together: between/3 as a generator feeding findall/3 (ch00) with a mod
  evenness test (ch01) → even_range/3.

  Notes

  - All six target builtins (member append reverse length last between) appear in solutions — the design doc's
  coverage check is satisfied.
  - I caught two hints (01, 06) that printed the answer verbatim and rewrote them to nudge — the leak test only
  flags a literal heading, but the principle is the principle.
  - Recorded the length/2 count-only boundary as a memory; it's a natural demo for the future 16-engine-boundaries
  chapter.

  Coverage matrix now marks 10 ✓. Per the plan, the remaining priority chapters are 11 (meta & term construction),
  12 (type-test guards), 13 (arithmetic depth), 14 (atoms & text), 15 (exceptions), 16 (engine boundaries). Ready
  when you are.
navicore changed title from ● Done. Chapter 10 (10-list-library) — 53 exercises, all green. to Chapter 10 (10-list-library) — 53 exercises, all green. 2026-06-15 13:36:19 +00:00
navicore changed title from Chapter 10 (10-list-library) — 53 exercises, all green. to Chapter 10 (10-list-library) 2026-06-15 13:36:33 +00:00
chapter 10 is baked
Some checks failed
CI - Linux / CI - Linux x86_64 (pull_request) Failing after 12s
8e1c518b00
use renamed patch-prolog repo
Some checks failed
CI - Linux / CI - Linux x86_64 (pull_request) Failing after -10s
e9f87d6aac
use renamed patch-prolog repo
All checks were successful
CI - Linux / CI - Linux x86_64 (pull_request) Successful in 55s
504c8204d6
navicore deleted branch chapter10 2026-06-19 16:35:05 +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!9
No description provided.