関数型プログラミングでは、型を組み合わせて作る型に直和型(sum type)と直積型(product type)が存在する。直和型と直積型のことを代数的データ型という。 『なっとく!関数型プログラミング』では、Scala、F#, Haskell で代数的データ型によるモデル化の例が紹介されていた。 残念なことに、どれも普段触っているプログラミング言語ではない。仕事で触る可能性があるのはバックエンドでPerl、バックエンド・フロントエンドがTypeScript,AndroidアプリでKotlinおよびJava, iOSアプリでSwiftだ。 なので、その中から Kotlinについて代数的データ型…