カスタム型からの周辺用語調査
カスタム型
elmにおけるtype Msg = Increment | Decrementのようなtypeによる宣言
これは、共用体のようなものも表現できるが、
それ以上の概念も作れるので、わざわざカスタム型という名前に変わった
なので、普通にelmを使う場合には、カスタム型と言っておけばいい
Custom types used to be referred to as “union types” in Elm. Names from other communities include tagged unions and ADTs.
カスタム型は、以前はunion typeと呼ばれていた
他のコミュニティでは、タグ付き共用体、代数的データ型という名前がある
---.icon
union type は共用体型といったりするが、
用語がいろいろ
数学における直和とか、
タグ付き共用体とか
ART(algebric data type)とか
言説がいろいろ
〜〜におけるUnion typesは直和型ではないとか
つまり問題なのは、
関連する概念を理解するために用語を調べて把握する際、
haskellやtypescriptや数学の用語を参考にして記述されている記事にあたる
そういうときにややこしい
ややこしいのでまとめる
wikipediaの解説は、共用体のものがある
unionというのは、値をさし、
同一のメモリ位置に複数の表現をとりうるというもの
そのような値の型をunion typeという
日本語にすると、厳密に直訳すれば、共用体、共用体型というべきかもしれないが
実際のところ、共用体といえばいい
タグ付き共用体
also called
variant,
variant record,
choice type,
discriminated union, 判別共用体
disjoint union 非交和
sum type, 直和型
共用体に、今なんの型が入っているかの情報をつけたもの
その情報をタグという
algebraic data type
それぞれの代数的データ型の値には、1個以上のコンストラクタがあり、各コンストラクタには0個以上の引数がある。
集合論において、これに等価なものとして直和がある