関数型プログラミングにおける重要な概念・代数的データ型についてKotlinを使って書く。 代数的データ型 代数的データ型 = 直積型 & 直和型 このことを理解するため、直積型と直和型について学ぶ。 直積型 さまざまな方の複数の値を格納できる非プリミティブ型のイミュータブル値を定義するための言語構造のことを指す。 Kotlinでいうところのdata classがこれだ。 data class User(val id: Int, val name: String) fun main() { val user = User(1, "Alice") println("ID: ${user.id},N…