代数的データ型と直和型と直積型とTypeScript

正直TypeScriptはあんまり関係ない
3
わかめ@毎日猫がいる @vvakame

うーん、多分わかった気になれた。

2014-11-25 23:51:07
tomo🐧@learning @cocoatomo

@vvakame 代数的データ型の定義に来るパターンとしては, <データコンストラクタ> <型>* (| <データコンストラクタ> <型>*)* となります. データコンストラクタの種類は1つでもいいのですが, それではパターンが1つしかないので目印以上の意味は無いです.

2014-11-25 23:51:47
わかめ@毎日猫がいる @vvakame

@omasanori @cocoatomo なんとなくわかった気持ちになることができました!

2014-11-25 23:51:49
わかめ@毎日猫がいる @vvakame

TypeScriptのunion typesは直和型で、type aliasは代数的データ型の定義に近いが基本的にインタフェースでまかなえるなら全部そうすべきでtype aliasにunion typesが絡まない表現が来るの多分バッドパターンらしいなという学びだ。アリシャス!

2014-11-25 23:54:50
Masanori Ogino @omasanori

直積型もn_a通りの値をとる型aとn_b通りの値をとる型bに対してa * bはn_a * n_b通りの値をとる(組み合わせだからそりゃそうだという話)

2014-11-25 23:54:55
わかめ@毎日猫がいる @vvakame

圏論、謎の記号がモリモリでてきて登場人物が全部欧米風の名前の上人数もめっちゃ出てくる小説を読んでいるような気持ちになるし、小説と違ってオチが理解できないという罠もあるな!

2014-11-25 23:57:51
tomo🐧@learning @cocoatomo

代数的データ型の説明でこれ nineties.github.io/category-semin… 出すのはちょっと無茶だと思い自粛しました.

2014-11-25 23:57:55
わかめ@毎日猫がいる @vvakame

見るだけなら大丈夫だろ…といって見に行った奴が帰ってこなかった。みたいな雰囲気だ…。

2014-11-25 23:59:12
Masanori Ogino @omasanori

今どき文法も意味論も型理論も圏の影が見え隠れするので、圏を怖がってもいられない感ひしひしと

2014-11-25 23:59:40
わかめ@毎日猫がいる @vvakame

中学二年生に見せたら半群とかマグマのなす圏とかで必殺技名作りそう

2014-11-26 00:00:35