type-theory-rs

wakame-tech/type-theory-rs は、型推論と型チェックを Rust で自作する個人プロジェクト。TypeScript が採用しているような 構造的部分型(structural subtyping) の実装を目標とする。

やったこと

  • 2024-05-16 時点で、TypeScript 流の構造的部分型を実装し、型推論と型チェックが動くようになった(「良い感じに型推論と型チェックされるようになった」)。
  • 構造的部分型では、名前ではなくレコード/オブジェクトの構造(フィールドの集合)で部分型関係を判定する。詳細は subtyping-variance を参照。

今後

  • type narrowing(型の絞り込み、TypeScript の制御フロー解析に相当)が TODO として残っている。
  • 推論の基盤としては hindley-milner-inference 系のアルゴリズムが関連する。

関連: subtyping-variancetype-theory-lambda-cubehindley-milner-inference