Slide 6
Slide 6 text
直和と直積
data class Hoge(val a: A, val b: B)
// A = {a_1, a_2, a_3, ..., a_n} (
要素数 n)
// B = {b_1, b_2, b_3, ..., b_m} (
要素数 m)
A
と
B
という型はそれぞれ取れる値の集合が定義されてる
このとき
Hoge
の値としての等価を考えたときに
Hoge
は
n * m
の値
を取り得る
このように取り得る値が 積 によって決まるような性質の型を
代数的データ型 (a.k.a Algebraic Data Type , ADT )
の世界では 直積型
(a.k.a Product Type )
と呼ぶ
前提知識編
6 / 37