直和型
from 代数的データ型
可能な型を列挙した型
その型の値は、どれかの一つである必要がある
複数にまたがることはできない
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型?
参考
代数的データ型と初等代数学 - ryota-ka's blog
https://blog.miz-ar.info/2015/01/union-types/