タグ

RCとRustに関するmkusakaのブックマーク (1)

  • Rust で型推論を高速かつ安全に実装

    簡単、高速、安全。Rc / RefCell の威力を知ってほしい。 データ型の定義 型 まずは普通に型 T を定義します。たとえば、ブーリアン型 \rm Bool と関数型 T \to T だけの型システムなら、以下のようになります。 Box ではなく Rc を使っています:これから型推論を実装しますが、型 T を型変数 \alpha に代入するとき、参照カウントをインクリメントするだけで T を clone できます。 型変数 次に、型変数 \alpha, \beta, \ldots をこれにくわえます。型変数は「まだ何も代入されていない」or「型 T が代入されている」のどちらかなので、これをそのまま enum で表します。

    Rust で型推論を高速かつ安全に実装
    mkusaka
    mkusaka 2025/08/22
    Rustで型推論を実装、TyにVar(RefCell)を追加しunifyにcontainsで無限再帰を防止、Rc/RefCell活用とO(log n)改善を解説。
  • 1