● Green — 32 exercises now. Both pieces are in: #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "choosing"
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?
The "binds vs tests" grid
The 2×2 is the spine of it:
┌─────────────┬──────────────────┬──────────────────────────┐
│ │ doesn't evaluate │ evaluates arithmetic │
├─────────────┼──────────────────┼──────────────────────────┤
│ binds a var │ = (unify) │ is (eval, then bind) │
├─────────────┼──────────────────┼──────────────────────────┤
│ just tests │ == (identity) │ =:= (eval, then compare) │
└─────────────┴──────────────────┴──────────────────────────┘
both, so the learner meets is already knowing two siblings are coming. No table yet (they haven't seen =/=:=).
(==) explicitly forward-referenced to ch 07. That's the through-line into the expansion plan.
The capstone: 05-comparison/06-choosing
A triptych where nobody tells you which operator to use, and each slot admits exactly one:
I verified on plgc that every wrong pick genuinely breaks — instantiation error, silent false, or
type_error(evaluable, ...) — so the exercise actually bites rather than quietly tolerating a near-miss. The hint
nudges via the grid without naming an operator, per convention.
This lands right where ch 07 picks up: that chapter adds ==/== to the very same grid, so the foundation is now
solid for it.