直和型
可能な型を列挙した型
その型の値は、どれかの一つである必要がある
複数にまたがることはできない
data Either a b = Left a | Right b
$ a+b種類の値を持つ
例えば3のデータ型同士の加法を考える
code:hs
data Three = A | B | C
Either Three Three
-- これが取りうるのは
-- ①Right A
-- ②Right B
-- ③Rihgt C
-- ④Left A
-- ⑤Left B
-- ⑥Left C
-- よって6つ
言語例
Haskell
code:hs
data Week = Sun | Mon | Tue | Wed | Thu | Fri | Sat
code:hs
data Either a b = Left a | Right b
TSのUnion型?
参考