- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
680 :デフォルトの名無しさん[sage]:2015/11/12(木) 06:44:47.02 ID:169dDeUZ - 「文脈」なんて言わずにおとなしく「計算効果」といっておけばよかったんだよ
非モナディックな値を単純にreturnでモナドに投入するだけでは作れないような モナディックな値がその計算効果の意味を表現している MaybeならNothingだし、Listならシングルトン以外の全てのリスト、 IOなら実行しても定数しか返さないようなもの以外の全てのIOアクション そういう計算効果を、do構文の中にいるときのようにある種自然に 取り扱えるようにするのが、モナドの持つ構造つまりモナド則。
|
- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
683 :デフォルトの名無しさん[sage]:2015/11/12(木) 19:15:06.84 ID:169dDeUZ - >>682
>昔、継承がなければポリモーフィズムもないと思ってたんだが >ダックタイピングすれば継承がなくてもポリモーフィズムがあると気付いて >継承を理解するには静的型付けを知るべきだと思った 意味がわからん。 継承と多相が関係ないのはそりゃ当然だが ダックタイピングがどうというのも関係がない >モナドも同じだと思う >静的型付けを知らなければモナドの本当の意味は分からない いや普通にリストモナドとかLispで実装して使うから。 そういうLisperは既に静的型付けを知っている!みたいな話なのかもしれんけど。
|
- 関数型プログラミング言語Haskell Part29 [転載禁止]©2ch.net
685 :デフォルトの名無しさん[sage]:2015/11/12(木) 21:50:28.93 ID:169dDeUZ - 「モナドの定義が微妙に違う」#とは
ふつうにreturn, fmap, bind (or join) を用意して do構文に似せたマクロにするだけなんだが……
|