コンテンツにスキップ

付録 a4 参考書と ADR の対応早見表


  • しくみ』:遠藤侑介『型システムのしくみ ― TypeScriptで実装しながら学ぶ型とプログラミング言語』(ラムダノート)
    • 『TAPL』のエッセンスをやさしく蒸留した入門書で、型注釈付きのミニ言語に対するチェッカーをTypeScriptで作る
    • 注釈を前提にする点で、推論を土台にするchibirigorとちょうど裏表の関係にある
    • 日本語のみ
  • TAPL』:Benjamin C. Pierce『型システム入門 ― プログラミング言語と型の理論』(オーム社。原著Types and Programming Languages, MIT Press)
    • 本格的な教科書で、各話題に本式の証明がある
    • 英語で読むなら原著がそのまま参照先になる

道しるべの濃淡(前編と後編で違う)

Section titled “道しるべの濃淡(前編と後編で違う)”
  • 前編The Little chibirigor:参考書は任意
    • 各章は参考書ゼロで完結する
    • 『しくみ』がやさしい裏面として最も近く、対応章を脇に添えてある
  • 後編The Seasoned chibirigor『TAPL』を一次の道しるべに据える(変性、再帰型、System F、健全性は『TAPL』の章立てに沿って進む)
    • 『しくみ』は要所で併走するが、後編が踏み込む領域(本物の型推論、FactStore)には対応章がない
  • ADR(Architecture Decision Record):Rigorの設計判断記録。リポジトリのdocs/adr/にある
    • 「なぜopen classを許すか」「なぜRactorでなくforkか」といった判断が物語として残る
  • 内部仕様(spec)inference-engine.md等。ADRが「なぜ」なら、specは「どう」を書く

a4-2. 前編 章 × 『しくみ』章 × 『TAPL』章

Section titled “a4-2. 前編 章 × 『しくみ』章 × 『TAPL』章”

v1の新章立て(前編Part 0〜9)で並べます。参考書はどちらも任意で、一次の近さは『しくみ』側です。

v1章テーマ『しくみ』『TAPL』関係(一言)
0はじめに(推論を土台にした型チェッカー)1章1章、8章 §8.3対比(健全vs誤検知忌避)
1リテラルと算術2章8章ほぼ対応(精度はConstで上回る。type_oftypecheck
2メソッド送信とディスパッチ3章9章読み替え(関数 → メソッド、{params, retType}
3ローカル変数と不変Scope3、4章9、11章 §11.5対応(tyEnv → 不変Scope、let束縛)
4Union 型が一本に決まらない(対応章なし)11章 §11.10独自地形(無タグのユニオン型。両書はタグ付きのみ)
5ナローイング 場合分けで絞る(対応章なし)(対応章なし)独自地形(gradual、フロー感応)
6ハッシュと配列の型5章11章 §11.8、§11.7対応(ただしopen vs完全一致で逆向き
7受理判定と三値7章15章対応+三値、consistency拡張
8RBSと型シグネチャ9章、9章演習、おわりに23章、22章部分対応(型代入の遠縁→戻り型合成。『しくみ』の空白を埋める)
9gradualの哲学おわりに8章 §8.3の先接続(健全性の本式、その先のgradual)

a4-3. 後編 章 × 『しくみ』章 × 『TAPL』章

Section titled “a4-3. 後編 章 × 『しくみ』章 × 『TAPL』章”

v1の新順序(後編Part 1〜8)で並べます。後編は『TAPL』を一次の道しるべに据えます。

v1章テーマ『TAPL』『しくみ』関係(一言)
1双方向型付けの正体9章3章土台(単純型付きラムダの型付け規則。
2部分型と変性15、16章7章対応(width/depth、変性、アルゴリズム的部分型付け)
3ジェネリクスと型代入23章、22章、26章、29章9章対応(System Fの型適用、α 変換、有界量化)
4再帰型:μ と余帰納20、21章(HKTは29章)8章対応(同値再帰、余帰納=最大不動点。HKT別解は別根拠)
5本物の型推論:引数を埋める22章9章演習、おわりに前線(型再構築、制約、単一化。『しくみ』が解答を放棄した所)
6完全なFactStore(対応章なし)(対応章なし)独自地形(データフロー解析の一般論。型理論の教科書に章なし)
7健全性と正規化、わざとunsound8章 §8.3、12章おわりに中心定理(進行+保存、正規化)を据え、なぜunsoundかを語る
8本物のRigorへ(対応章なし)(対応章なし)橋(学習用最小版 → 実用ツール。対応はADR群、spec)

a4-4. 本文が参照する主なADRの早見

Section titled “a4-4. 本文が参照する主なADRの早見”

後編Part 8がADRへの入口をまとめています。ここはその表を引いて一覧化したものです。番号と一言だけ添えます(詳しい文脈は後編Part 8 §8-2、§8-3を参照。本文の章番号はv1の新章立て)。

ADR一言
ADR-0基盤と設計原則の出発点(あとの全ADRの地図)
ADR-4型推論エンジンの仕組み

本文の緊張に対応するADR(後編Part 8 §8-3)

Section titled “本文の緊張に対応するADR(後編Part 8 §8-3)”
ADR一言本文での対応
ADR-5ロバストネス原則(誤検知をどう避けるか)前編Part 4、7、後編Part 7(わざとunsound)
ADR-22baselineとオンボーディング前編Part 9(baseline本体)
ADR-20軽量HKT(還元fuelで再帰を止める。実装済み)後編Part 4(fuel)、Part 7(予算)
ADR-41推論予算の設計(Status: Proposed、未実装)後編Part 7(予算)
ADR-14sig-gen(シグネチャ生成)前編Part 8、後編Part 3(erasure)
ADR-25プラグインRBS前編Part 8
ADR-32inline RBS前編Part 8
ADR-46増分解析(ファイル横断の依存グラフ)後編Part 8 §8-2(工学)

拡張API、インターフェース分離、マクロ展開、Data/Struct折りたたみ、永続キャッシュ、LSP同梱、CI出力形式、並行解析、性能ゲートといった工学寄りのADRは、後編Part 8 §8-2に一覧があります(前編の本文では名指ししません)。


  • 型理論をもう一段覗きたい → a4-2、a4-3で対応章を引き、手元の『しくみ』か『TAPL』を開く
    • どちらも持っていなくても本書は完結します。
  • 本物のRigorを読みたい → a4-4から、いちばん気になる行のADRを1本開く
    • ADR-0からADR-4が全体の地図になります。
  • 本文に戻る → 各章末の1行ポインタからここへ来た場合、表で位置を確かめたら章へ戻ってください
    • 早見表は道しるべであって、本筋ではありません。

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