Haskell-monads
提供:Dev Guides
ハスケル-モナド
3つのルールはすべて、次のようなモナド宣言に厳密に適用されます-
モナド宣言に適用される3つの基本的な法則は次のとおりです-
- 左アイデンティティ法- return 関数は値を変更せず、Monadの何も変更しないでください。 「return> ⇒ mf = mf」と表現できます。
- Right Identity Law - return 関数は値を変更せず、Monadの何も変更すべきではありません。 「mf> ⇒ return = mf」と表現できます。
- 関連性-この法律によれば、ファンクターとモナドのインスタンスは同じように動作するはずです。 「(f> =⇒ g)> ⇒ h = f> ⇒(g> = h)」と数学的に表現できます。
最初の2つの法則は同じポイントを反復します。つまり、 return は bind 演算子の両側で恒等的な振る舞いを持つべきです。
モナドであることを認識せずに、前の例ですでに多くのモナドを使用しています。 List Monadを使用して特定のリストを生成する次の例を考えてみましょう。
このコードは、次の出力を生成します-