Go to file T
Code
.cargo render pipeline (web, single-file md, typst pdf with embedded fonts), permissions ledger seeded, style and print docs, ci lanes with the house lessons; ex12-9 drift note (E0203 vs E0201 — the filed when-arity divergence caught again)
.github Retire the measured pin plant and document the staged std
audit Refresh current pin prose and reread historical version claims
book Pin handled Windows fork rows without graduating Unix examples
ci ci/tl30-prediction.md: the plant, seen red (run 39609370762)
docs Pin handled Windows fork rows without graduating Unix examples
highlight pin: wolf-lsp d194486 — the two wrong paints are fixed, and the grammar re-pins (#6)
principles Restore the complete pool-freeze solution fence
print render pipeline (web, single-file md, typst pdf with embedded fonts), permissions ledger seeded, style and print docs, ci lanes with the house lessons; ex12-9 drift note (E0203 vs E0201 — the filed when-arity divergence caught again)
samples appendix E: wolf 0.2.12 breaks a braced if chain as one — the canonical fixture re-laid and the three-clause explanation says so (s156)
snapshots Regenerate region diagnostics and rekey the shifted REPL block
tests gate: npm test runs wolf-boot.test.mjs too — it was dark in CI (run 36953386790 went red at the gate, not the test)
theme web: a memory fence renders as a static <img> of its SVG, the text rendering as alt; no script
vendor Vendor the 0.2.35 anchor registry without dropping keys
xtask Pin handled Windows fork rows without graduating Unix examples
.gitattributes seed: scaffold placeholder until bc00
.gitignore the projects part fills in: pargrep ships (97 lines, six seeds to one output hash while arrival order varies five ways — the determinism argument on the page) and the solo ships with Back Against the Wall at its head, the book's last placement in that register; tinyvm stays held on Pool with its gate re-stated from fresh runs; argv closes ch26's oldest ledger row; three defects found by writing, filed not papered over
CHANGELOG.md CHANGELOG: bs58 — the book takes 0.2.21 / 0.1.44; §6.6 runs on both machines
Cargo.lock render pipeline (web, single-file md, typst pdf with embedded fonts), permissions ledger seeded, style and print docs, ci lanes with the house lessons; ex12-9 drift note (E0203 vs E0201 — the filed when-arity divergence caught again)
Cargo.toml license: code samples GPL-3.0-or-later with the runtime exception (D41 as amended); prose stays TBD pending bc00's CC BY 4.0 proposal
LICENSE license: code samples GPL-3.0-or-later with the runtime exception (D41 as amended); prose stays TBD pending bc00's CC BY 4.0 proposal
LICENSE-EXCEPTION license: code samples GPL-3.0-or-later with the runtime exception (D41 as amended); prose stays TBD pending bc00's CC BY 4.0 proposal
LICENSE-TRAINING-DATA license: add the wolf Training Data Permission, version 1.0
PERMISSIONS.md the projects part fills in: pargrep ships (97 lines, six seeds to one output hash while arrival order varies five ways — the determinism argument on the page) and the solo ships with Back Against the Wall at its head, the book's last placement in that register; tinyvm stays held on Pool with its gate re-stated from fresh runs; argv closes ch26's oldest ledger row; three defects found by writing, filed not papered over
PRINT.md render pipeline (web, single-file md, typst pdf with embedded fonts), permissions ledger seeded, style and print docs, ci lanes with the house lessons; ex12-9 drift note (E0203 vs E0201 — the filed when-arity divergence caught again)
README.md chapter 34 is a chapter: TOC entry and its §Deltas, how-to-read's late-chapter sentence, README's count, the exercise index (tiers regenerated) and the corpus counts
STYLE.md ch15: the exit number belongs to the tool, not the language
book.toml render: the 404 page's links under /book/, a guard against inline scripts, and `render pages` for the redirects
samples-declined.toml Rekey the REPL transcript after the expanded move diagnostic
samples-os.toml Pin handled Windows fork rows without graduating Unix examples
samples-pending.toml the CI-std ruling carried through the records: pin notes ([wolf], [wolf-std]), ch22's export-hash row, ch25's HOLD note and pending 5-8 say CI stages the archive's std/ and the book prints the archive whole
wolf-toolchain.toml Pin wolf 0.2.35 and lupin 0.1.56 before reconciling samples

The Wolf Book

The wolf language text. The web edition at lupp.us is canonical and is set to look like a printed page. The single-file markdown and the PDF are rendered from the same source. principles/DESIGN.md is the binding design document.

30 of the 34 chapters are written. Chapter 29 is reserved whole, because it needs Pool and handle to execute on one lane, and says so on its own page. Chapters 13, 21, 23 and 25 each reserve sections for the same kind of reason. Chapters 33 and 34 are the newest and sit at the end of part 4 with numbers out of order: section numbers are permanent anchors, so a late chapter takes the next free number instead of renumbering thirty others (principles/TOC.md §Deltas).

Code samples are GPL-3.0-or-later with the wolf Runtime Library Exception, matching the runtime, so code you take from this book into your programs is yours. The prose license is proposed as CC BY 4.0 and is not settled. The wolf Training Data Permission lets you train models on this repository's text and ship excerpts of it in datasets under CC BY 4.0.

The toolchain

Everything runs through cargo.

  • cargo xtask samples extracts and executes every code sample: the exercise programs under principles/exercises/ and every fenced wolf block in book/, against the pinned tools in wolf-toolchain.toml. Every ```console block whose commands are all pinned tools is replayed against the program printed above it, and the pasted output is byte-compared. A block that needs a shell is reported as skipped, with its name. Diagnostics from fail(…) samples are snapshot-checked under snapshots/. samples-pending.toml lists the samples whose directives are waiting on a named feature; a pass there is reported as a flip, so a feature that lands gets noticed. --self-test checks that the rig catches deliberately broken samples. --bless updates snapshots for review.
  • cargo xtask contrast compiles and runs the other-language code the book quotes (samples/contrast/), with warnings denied, and checks that every ```rust block in book/ appears there verbatim.
  • cargo xtask backmatter [--check] regenerates the two generated pages: Appendix A from the pinned spec's grammar.ebnf, and the Solutions page from the exercise corpus. --check fails on drift and also compares vendor/spec/ against a sibling wolf-lang checkout.
  • cargo xtask grammar-sync re-vendors the wolf tmLanguage grammars from wolf-lsp at the pin into highlight/ and regenerates the highlight stylesheet (theme/highlight.css). --check fails on drift. Highlighting happens at build time in the preprocessor, and highlight.js ships as an empty file on purpose.
  • cargo xtask render [web|md|pdf|all] produces the three artifacts: the mdBook web edition (target/render/web/, with a full custom theme and section-number anchors like #8.4), target/render/wolf-book.md, and target/render/wolf-book.pdf via typst (XCharter and Source Code Pro, same palette as the web). A missing typst is reported as a skip; --require-pdf makes it an error, which is how CI runs it.
  • cargo xtask verify-docs checks the book's factual claims: corpus counts, pin well-formedness, TOC-to-chapter numbering, line-count claims, clause tags and diagnostic codes against vendor/spec/, a published solution for every printed exercise, and the tense conventions in principles/TONE.md.

Every code block in the book is executed by CI.

Layout

book/ (SUMMARY, front matter, the chapters, back matter) · theme/ (the mdBook theme replacement) · highlight/ (vendored grammars, edited only upstream) · vendor/spec/ (the pinned spec's grammar, clause anchors and diagnostic-code list) · print/ (PDF fonts) · xtask/ (the pipeline) · principles/ (TONE.md, TOC.md, EXERCISES.md and the exercise corpus, DESIGN.md, INTERACTIVITY.md, TWO-MACHINES.md) · docs/ (the reviewer checklist, the errata policy, the standing prose audit) · STYLE.md (mechanics) · PRINT.md (the typst decision) · PERMISSIONS.md (the lyric-quotation ledger).