関数型プログラミング言語Haskell Part21
■ このスレッドは過去ログ倉庫に格納されています
0380356
2013/03/02(土) 20:00:16.48会話しやすいように、私の元の発言のレス番を名前に入れておくな。
> その喩えは確かか?
申し訳ない、>>356 では言い忘れたが、
私が個人的に抱いているイメージなんで、人によっては違うと思う。
> 隠蔽はモナドに限らない常套手段なのでそれが肝と言われても?
そう、情報を隠蔽する方法は Monad クラス以外にもいろいろある。
その方法のひとつが Monad クラスというとして標準ライブラリに用意されており、
また、その方法が特別有用なので文法上も特別扱いされている。
> 何と何が同じ計算に見えるの?
(Monad m) ==> m a 型の値 x と、
(Monad m) ==> m a -> (a -> m b) -> m b 型の関数 f があるとする。
x >>= f という式は、Monad クラスの「どのような」インスタンス型でも成り立つ。
例えばリスト型だろうが Maybe 型だろうが、IO 型だろうが。
同じ計算に見えるというのは現象で、大事なのは同じ扱い方ができる、という事。
■ このスレッドは過去ログ倉庫に格納されています