IT用語集 › プログラミング › 代数的データ型

代数的データ型

プログラミング Svenska → 更新: 2026-10-20

「直和」(または)と「直積」(かつ)で組み立てる型。Rustのenum、Haskellのdata、OCamlのtypeが該当し、パターンマッチとコンパイル時の網羅性検査を可能にする。

直積型はstructやタプル(AかつBを持つ)、直和型はenumやユニオン(AまたはBを持つ)である。これらを再帰的に組み合わせられる。例:enum Tree { Leaf, Node(Tree, i32, Tree) }。MLやHaskellの系譜から生まれ、Rust、Swift、Kotlin、TypeScript(タグ付きユニオン経由)、Scala 3へ広がった。「不正な状態を表現不可能にする」設計の要である。ユーザーが「Anonymous」か「LoggedIn { id, name }」のどちらかなら、どちらかのケースの処理漏れをコンパイル時に強制できる。

← 用語集に戻る