generated at
2/17/2025, 8:54:32 AM
部分構造型
Substructural Type System
部分構造論理
をベースとしている
型環境
に
構造規則
についての制限を導入することにで、型環境に含まれる変数の利用について制約を持たせることができるような
型システム
Type Classes for Lightweight Substructural Types
https://arxiv.org/pdf/1502.04772.pdf
https://drive.google.com/file/d/1OxnETBYjtF7H9bRDtw5pmFpLzLC6lWjK/view
諸々の部分構造型と、構造規則の関係
ref
対応
転置規則
弱化規則
縮約規則
どういうものか
Ordered型
-
-
-
変数の使用は1回のみであり、変数の順序の制限もある
線形型
o
-
-
変数の使用を1回のみに制限
Affine型
o
o
-
変数の使用を最大1回に制限
Relevant型
o
-
o
変数の使用を最低1回に制限
通常の型
o
o
o
変数の使用は任意の回数できる
通常の型システムが一番下で任意の回数の使用ができ、
他のものは
o
が付いていないので、「制限を強めている」感じがひと目で分かる
言語例
ref
ATS言語
Clean
Mercury
LinearML
Alms
Granule
「構造部分型を持つ言語」としてこれらを列挙するのは雑すぎると思うので、本当はここに列挙したくはない
個別の型のページに割り振りたい
https://en.wikipedia.org/wiki/Substructural_type_system
https://drive.google.com/file/d/1OxnETBYjtF7H9bRDtw5pmFpLzLC6lWjK/view