- 759 名前:デフォルトの名無しさん mailto:sage [2008/01/08(火) 00:33:47 ]
- >>757
ほい ttp://www.sampou.org/haskell/tutorial-j/monads.html HaskellのモナドはMonadという型クラスのインスタンスれす。 Monadクラスは2つのクラスメソッドを持っていて、その2つがモナド則(3ホーソクありゅ)を満たしてマース。 よく使うモナドはIO, Maybe, Listあたりでしょう。どれも「演算」を繋ぐという感じに使いマース。 この3行を見たらリンク先にJUMP! 2つのクラスメソッドは、最初のうちは『>>=』が『|』(パイプ)に対応、『return』が『cat』に対応すると覚えておけば良いかもネ! (Jonesはわざとパイプっぽくしたらしいネ) モナドの構文は3つ。doとletとifだけ。 演算をモナド的に定義して繋ぐと、新しい特徴を参照透過的にモナドに結びつけることが出来ちゃう。 しかもモナド則3が保証するように「組み立て順序が自由」で、長くつながったモナドの鎖のどこを切ってもモナドになるョ。 これがモナドがもたらすモジュール化という効能だよーん。
|

|