# The Little chibirigor (前編)
Source: https://rigor.typedduck.fail/ja/chibirigor/little/

最小のRuby型チェッカー`chibirigor`を、ステップバイステップで作りながら学ぶ前編です。`check`（型診断）と`annotate`（推論した型の表示）が動く最小実装をPart 0〜9で作り切ります。コードは前編だけで動き切り、形式的な理論は後編へ譲ります。

> はじめての方は、二巻共通の入口[README](/ja/chibirigor/)（動機、対象読者、環境構築）から読み始めてください。用語は[用語集](/ja/chibirigor/glossary/)、巻をまたぐ参照情報は[付録](/ja/chibirigor/appendix/a1-special-types/)で引けます。各章は「① 型理論 ↔ ② Ruby/RBS ↔ ③ Rigor実装」という三つの視点から書かれ、章末に演習があります（くわしい読み方は[Part 0](/ja/chibirigor/little/part0-introduction/)で）。

## 章立て

| Part | テーマ |
|---|---|
| [0](/ja/chibirigor/little/part0-introduction/) | はじめに：推論を土台にした型チェッカー／拒まない入力／2つの関数 |
| [1](/ja/chibirigor/little/part1-literals-and-arithmetic/) | リテラルと算術（`Const`/`type_of`/`check`/`annotate`） |
| [2](/ja/chibirigor/little/part2-method-dispatch/) | メソッド送信とディスパッチ（＋発展：定数畳み込み） |
| [3](/ja/chibirigor/little/part3-scope-and-statements/) | ローカル変数と不変Scope |
| [4](/ja/chibirigor/little/part4-union/) | 型が一本に決まらないUnion |
| [5](/ja/chibirigor/little/part5-narrowing/) | 場合分けで型を絞るナローイング |
| [6](/ja/chibirigor/little/part6-hash-and-tuple/) | ハッシュと配列の型（`HashShape`/`Tuple`） |
| [7](/ja/chibirigor/little/part7-accepts-and-trinary/) | 受理判定と三値（`accepts`＝`:yes`/`:no`/`:maybe`） |
| [8](/ja/chibirigor/little/part8-rbs-and-signatures/) | RBSと型シグネチャ（RBS由来の表 → `def`から戻り型合成） |
| [9](/ja/chibirigor/little/part9-gradual-philosophy/) | gradualの哲学（最終章） |

読み終えたら、後編[The Seasoned chibirigor](/ja/chibirigor/seasoned/)（読み解く巻）へ続きます。
