コンテンツにスキップ

The Seasoned chibirigor (後編)

前編The Little chibirigorで動く最小版(checkannotate)を作り切ったあと、その裏側を形式の言葉で読み解く巻です。前編でわざと避けたもの(双方向型付けの形式化、変性、ジェネリクス、再帰型、本物の型推論、FactStore、健全性)を、ここで回収します。

コードより概念が主役で、各章は前編の実装を起点にした解説と設計スケッチの集まりです(動くスケッチはexamples/にあり、ruby <file>で自己チェックが緑になります)。

章立て(構造から推論、フローを経て理論の頂点へ、そして橋へと続く一本の坂)

Section titled “章立て(構造から推論、フローを経て理論の頂点へ、そして橋へと続く一本の坂)”
Partテーマ起点(前編)
1双方向型付けの正体(type_of=合成accepts=照合前編P7、P9
2部分型と変性(width/depth、戻り共変、引数反変)前編P6、P7
3ジェネリクスと型代入(subst、α 同値、変数捕獲、erasure)前編P8
4μ と余帰納でみる再帰型(発展:HKT/App+fuel)前編P6
5引数を埋める本物の型推論(能力収集、制約、単一化)前編P8
6完全なFactStore(6バケツ、stability、クロージャ捕獲、join)前編P3、P5
7健全性と正規化、そして「わざとunsound」(gradualの2規律)前編P9
8本物のRigorへ(プラグイン、キャッシュ、LSP、ADR、性能)前編全体

中核アルゴリズムは単体で走る最小のRubyとしてexamples/に置いてあります。subtype.rb(Part 2)、subst.rb(Part 3)、mu_typeeq.rb(Part 4)、unification.rb(Part 5)、fact_invalidation.rb(Part 6)の5本です。本文とコードのドリフトはcheck_docs.rbが検出します。

前編(The Little chibirigor)を読み終えてから来てください。後編の各章は「前編のあの実装は、実は◯◯という理論だった」「前編が避けた◯◯を、ここで読み解く」という形で進みます。

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