トップページ > プログラム > 2015年06月03日 > lNaMRMgL

書き込み順位&時間帯一覧

21 位/143 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000100000010000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net

書き込みレス一覧

関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
424 :デフォルトの名無しさん[sage]:2015/06/03(水) 10:53:49.25 ID:lNaMRMgL
順番が逆じゃないか?圏論で言うところのモナドってのは<T,η,μ>の3つ組が
µ(Fµ) = µ(µF) と µ(Fη) = idF = µ(ηF) を満たすもの、と定義されている。
Haskellのモナドクラスってのは単にμとηに相当する関数を持っていることを要請するだけで、
上の式を満たすようにインスタンスを定義しないと圏論で言うモナドにはならない。

Haskellのモナド3則は、上の式をKlisli starを使って書き直すと出てくるんじゃなかったっけな。
一度やったが、ここだけやっても面白くなかった記憶がある。
関数型プログラミング言語Haskell Part28 [転載禁止]©2ch.net
426 :デフォルトの名無しさん[sage]:2015/06/03(水) 17:22:57.96 ID:lNaMRMgL
>>425 単位元の存在と結合則だから。
Haskellで何故モナド則が必要かは↓を見れば分かる。
https://wiki.haskell.org/Monad_laws
モナド則を満たさないインスタンスは取り回しが悪い。モナドにする必要性が無い。
f : (Monad m) => ...なジェネリックな関数の振る舞いに何も期待できなくなる。

圏論の話をしたいなら他所でやってくれ。単芝生やす前に>>423で>>425の意図が読めるか拙い頭で自省しとけ。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。