核心概念
GADTをデータ構造の型として理解し、パラメータ性を保つ方法でSystem Fに追加することは、GADTの包含関係の維持という課題をもたらすが、GADTをADTに似た型構成子であるcompletionに埋め込むことで解決できる可能性がある。
本稿は、GADT (一般化代数データ型) におけるパラメータ性について考察した、初期段階の研究報告である。System F に GADT を組み込む際、従来の代数データ型 (ADT) の拡張として捉えるだけでは不十分であり、GADT 特有の課題が生じることが示されている。
パラメータ多相は、型システムにおいて重要な概念であり、プログラムの型安全性や効率的な実行を保証する上で有用である。
System F はパラメータ多相をサポートする形式体系であり、多くの関数型プログラミング言語の基礎となっている。
ADT はリストや木構造などのデータ構造を表現する型であり、System F におけるパラメータ多相と整合性が取れている。
GADT は ADT を一般化した型であり、より柔軟なデータ構造を表現できるが、System F への統合は課題とされてきた。