二項演算
$ \mu:A\times A\to A
入力と出力が同じ型じゃないといけないのか。/icons/知らんかった.icontakker.iconyosider.icon基素.icon
てことは任意の二項演算(・)に対して (A・B)・(C・D) が計算可能なわけだSummer498.icon
そうじゃなくても二項演算と呼ぶ場合もあるらしい
入力と出力が違う型になる例には、==とかあるmrsekut.icon
2 == 3→ False
これは$ \mu:式\times 式\to 式と解釈できるnishio.icon
群とかよりいくらか一般的なやつmrsekut.icon
table:例
集合 二項演算 単位元 連結できる!
String <> "" "ho" <> "ge" <> "piyo" (== "hogepiyo")
Int * 1 1*2*3
Int + 0 1+2+3
List ++ [] [1,2,3] ++ [3,4,5] ++ [6]
補足
<>は、Haskellの文字列結合。
JSなら.concat()とか+とか
これを見ると、入力と出力が同じな感じもなんとなくわかるmrsekut.icon
なるほど、入れ子にできるという特徴があるんですねtakker.icon 入力と出力が同じ型の函数を特別視するのも納得がいく
集合がIntで、二項演算が==だとモノイドにはならない