Skip to content

Appendix a4 — Reference & ADR correspondence table


  • TAPL — Benjamin C. Pierce, Types and Programming Languages (MIT Press). The full textbook, with proper proofs for each topic. For English readers, the original is the reference.
  • 『しくみ』 (The Mechanics of Type Systems) — Yusuke Endoh, Learning Types and Programming Languages by Building Them in TypeScript (Lambda Note). A gentle distillation of TAPL’s essence that builds a checker for an annotated mini-language in TypeScript. In presupposing annotations, it is exactly the mirror image of chibirigor, which builds on inference. Published in Japanese only — where it is the sole correspondence and no English equivalent exists, the text says so plainly.

Different weight of signposts (the two volumes differ)

Section titled “Different weight of signposts (the two volumes differ)”
  • The Little chibirigor — references are optional. Each chapter is complete with zero references. 『しくみ』is the closest, as a gentle mirror image, with corresponding chapters noted in the margin (Japanese readers only).
  • The Seasoned chibirigor — sets TAPL as the primary signpost (variance, recursive types, System F, soundness proceed along TAPL’s chapter structure). 『しくみ』runs alongside at key points, but the areas the Seasoned volume steps into (real type inference, the FactStore) have no corresponding chapter in it.
  • ADR (Architecture Decision Record) — Rigor’s design-decision records, in the repository’s docs/adr/. Judgments like “why allow open classes,” “why fork rather than Ractor” remain as a narrative.
  • Internal specinference-engine.md and others. If an ADR is the “why,” the spec writes the “how.”

a4-2. The Little volume — chapter × 『しくみ』ch. × TAPL ch.

Section titled “a4-2. The Little volume — chapter × 『しくみ』ch. × TAPL ch.”

Laid out by the v1 chapter structure (Little Part 0–9). Both references are optional. The closer primary is the『しくみ』side.

v1 ch.Theme『しくみ』TAPLRelation (in a phrase)
0Introduction (an inference-driven type checker)ch. 1ch. 1, ch. 8 §8.3contrast (sound vs. false-positive-averse)
1Literals and arithmeticch. 2ch. 8near match (precision exceeds via Const / type_of = typecheck)
2Method sends and dispatchch. 3ch. 9reread (function → method, {params, retType})
3Local variables and an immutable Scopech. 3, 4ch. 9, 11 §11.5match (tyEnv → immutable Scope, let-bindings)
4Union — a type doesn’t settle on one(no corresponding ch.)ch. 11 §11.10own terrain (untagged union; both books have only tagged)
5Narrowing — splitting by case(no corresponding ch.)(no corresponding ch.)own terrain (gradual / flow-sensitive)
6Hash and array typesch. 5ch. 11 §11.8, §11.7match (but reversed for open vs. exact match)
7Acceptance checks and three-valued logicch. 7ch. 15match + three-valued / consistency extension
8RBS and type signaturesch. 9, ch. 9 exercises, afterwordch. 23, 22partial match(distant relative of type substitution → return-type synthesis; fills『しくみ』‘s gap)
9The philosophy of gradual typingafterwordbeyond ch. 8 §8.3connection (soundness in full → gradual beyond it)

a4-3. The Seasoned volume — chapter × 『しくみ』ch. × TAPL ch.

Section titled “a4-3. The Seasoned volume — chapter × 『しくみ』ch. × TAPL ch.”

Laid out by the v1 new order (Seasoned Part 1–8). The Seasoned volume sets TAPL as the primary signpost.

v1 ch.ThemeTAPL『しくみ』Relation (in a phrase)
1What bidirectional typing really isch. 9ch. 3foundation (typing rules of simply-typed lambda; /)
2Subtyping and variancech. 15, 16ch. 7match (width/depth, variance, algorithmic subtyping)
3Generics and type substitutionch. 23, 22, 26, 29ch. 9match (System F type application, α-conversion, bounded quantification)
4Recursive types: μ and coinductionch. 20, 21 (HKT in ch. 29)ch. 8match (equi-recursive, coinduction = greatest fixed point; the HKT aside has separate grounds)
5Real type inference: filling in argumentsch. 22ch. 9 exercises, afterwordfrontier(type reconstruction, constraints, unification; where『しくみ』gave up the answer)
6The complete FactStore(no corresponding ch.)(no corresponding ch.)own terrain (general dataflow analysis; no chapter in a type-theory textbook)
7Soundness, normalization, unsound on purposech. 8 §8.3, ch. 12afterwordsets the central theorem (progress + preservation / normalization), tells why unsound
8Toward real Rigor(no corresponding ch.)(no corresponding ch.)bridge (learning minimal version → practical tool; the correspondence is the ADRs and spec)

a4-4. Quick reference to the main ADRs the text cites

Section titled “a4-4. Quick reference to the main ADRs the text cites”

Seasoned Part 8 gathers a doorway to the ADRs. This is a list drawn from that table. Just a number and a phrase (for detailed context see Seasoned Part 8 §8-2 / §8-3; the chapter numbers in the text use the v1 structure).

ADRIn a phrase
ADR-0The starting point of the foundations and design principles (a map for all later ADRs)
ADR-4How the type inference engine works

ADRs that correspond to the text’s tensions (Seasoned Part 8 §8-3)

Section titled “ADRs that correspond to the text’s tensions (Seasoned Part 8 §8-3)”
ADRIn a phraseWhere in the text
ADR-5The robustness principle (how to avoid false positives)Little Part 4, 7; Seasoned Part 7 (unsound on purpose)
ADR-22baseline + onboardingLittle Part 9 (baseline proper)
ADR-20Lightweight HKT (stop recursion with reduction fuel; implemented)Seasoned Part 4 (fuel), Part 7 (budget)
ADR-41Design of an inference budget (Status: Proposed, not implemented)Seasoned Part 7 (budget)
ADR-14sig-gen (signature generation)Little Part 8, Seasoned Part 3 (erasure)
ADR-25plugin RBSLittle Part 8
ADR-32inline RBSLittle Part 8
ADR-46incremental analysis (a cross-file dependency graph)Seasoned Part 8 §8-2 (engineering)

The more engineering-leaning ADRs — extension API, interface separation, macro expansion, Data/Struct folding, persistent cache, bundled LSP, CI output formats, concurrent analysis, performance gates, and so on — are listed in Seasoned Part 8 §8-2 (the Little volume’s text doesn’t name them).


  • Want to peek one level deeper into type theory → look up the corresponding chapter in a4-2 / a4-3 and open your copy of『しくみ』 / TAPL. The book is complete even if you have neither.
  • Want to read real Rigor → from a4-4, open one ADR for the row that interests you most. ADR-0 → ADR-4 is the map of the whole.
  • Back to the text → if you came here from a one-line pointer at the end of a chapter, check your position in the table and return to the chapter. The quick-reference table is a signpost, not the main line.

© 2026 TypedDuck. Licensed under CC BY-SA 4.0.