- 11-higher-order-functions.js: chapter + exercises A-F done; E/F cleaned
into ❌/✅ traces (^ is XOR not power; [a,b] is comma operator not slice;
reduce without initial value avoids leading space)
- my-mistakes: add P (^ vs **) and Q (comma operator vs slice), both
'runs but wrong'; explain comma operator; update quick-lookup table
- README: mark ch11 done
- new 00-concepts note: which has a value / can be used as a value;
the REPL 'completion value' illusion; ties together arrow =>, ternary,
return
- README: index it under cross-topic concepts
- 10-functions.js: finish exercises A-F (incl. recursive repeat in F)
- §1: note function's own name vs the variable holding it (named
function expression's name is only visible inside → recursion/debug)
- fix E prompt (triple can't cleanly make 20; print triple(7))
- README: mark ch10 done
- pull async/promises forward (was ch18): every LLM call is async,
it's the core of any agent
- add modules (import/export), a TS track, and an agent-domain +
pi-hands-on tier
- defer browser topics (regex/DOM/events/web-storage) as pi is a
Node CLI/TUI, not a browser app
- 09-loops: finish exercises A-F
- 00-concepts: add semicolons-and-asi.md (when ; is mandatory: line
starting with ( or [, no newline after return/throw)
- README: index the new concept note
- flat single-file structure: NN-topic.js per topic (concepts as
comments + demo + exercises in one file), replacing the old
NN-topic/ folder with separate notes.md + practice.js
- 00-concepts/ cross-topic notes (mistakes log, call-forms,
value-vs-reference, shortcircuit bash-vs-js)
- move quokka_playground.js from repo root into js_notes/
- add project CLAUDE.md