2010-02-11 [長年日記]
λ. PLDIr #6
PLDIの論文を読む PLDIr の第六回に参加。 今回はPLDI2002の論文が対象で、私は以下の2本の論文を紹介した。
- Adoption and focus: practical linear types for imperative programming (著者版)
- MaJIC: compiling MATLAB for speed and responsiveness (著者版)
Adoption and focus: practical linear types for imperative programming は、型で状態をトラッキングする Type state のようなシステムに関するもの。 状態をトラッキングする型システムはエイリアシングと相性が悪い。 例えば、close(a); read(b) は a と b が同じものを指していたら不正となる。 そのため、エイリアシングを禁止して線形型的な取り扱いをするのだけど、線形型をフィールドに持つような型も線形型にしなくてはいけなくて、現実的ではなくなってしまう。 この問題を解決するために、adoption と focus という演算を持つ型システムを考えている。この型システムは面白かった。
MaJIC: Compiling MATLAB for Speed and Responsivenes は、MATLABのためのJITコンパイラとAOTコンパイラのシステム。MATLABは型なしの言語なので、型推論するのだけど、JITの場合と違ってAOTの場合には型を投機的に予想してコンパイルするというのが面白かった。
スライド(PDF):