● Chapter 12 is done — just ci green at 62 exercises, all validated against plgc 0.3.0 (every solution passes, #13
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chapter12"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
every starter parses), fmt + clippy clean, hints leak nothing.
What landed — 12-types, a guard → dispatch arc
Built to dodge the trap chapter 11 first fell into: not eight isolated "does this test work?" demos, but each
type test earning a real job, with the without-it failure shown in prose.
is a question = cannot ask, because unifying with an unbound var always succeeds and binds it. The guards only
look.
unguarded is doesn't fail on a stray atom, it crashes the query (type_error(evaluable, foo), exit 3). The guard
makes a fussy op total over untrusted data.
The filtering shape from ch11, routing into two buckets.
list is also compound; [] is both atom and is_list), so classification isn't a partition — you impose one by
ordering an if-then-else chain. The prose carries the overlap table; the []-is-an-atom gotcha falls out of
putting atom before is_list.
All eight builtins appear in a solution, so the coverage-check invariant holds. Docs updated: ROADMAP (62, new
row), README (new row), and the expansion design doc (12 ✓ with a full design note).
Two things I noticed but left alone as out of scope for this chapter — flagging, not acting:
a sweep.
fixed by 0.3.0 — worth a re-probe before chapter 13/16 leans on the claim. Happy to check either if you want.