variant
バリアント
/mrsekut-book-4274069117/128 (11.10 バリアント)
二項の和を一般化すると、ラベル付きのバリアントになる。これは直積がラベル付きレコードに一般化できるのと同様である
直和型
を一般化したもの
Haskellの直和型がvariantと言えるか
mrsekut.icon
むしろ、TypeScriptとかCrystalのUnionが普通の直和型みたいな感じかな?
tagがないので
CrystalのUnion型
ref
code:cr
alias Int32OrString = Int32 | String
例
OptionalNat = <none:Unit, some:Nat>
/mrsekut-book-4274069117/178
部分型付けの話