Henehefu 用 ウィキ

メニュー



- Views

最近の更新

取得中です。

Haskell > Monad


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

モナドのメモ

型クラスの一つ。この型クラスのインスタンスは、「return関数」と「bindと呼ばれる(>>=)関数」を実装する。

型クラスは、c#で言うところの、interfaceに相当する。

  • Haskellの特殊な概念ではなく、便利なありふれた概念。
  • シンタックスシュガーのdo構文や、その他の便利なライブラリで使用する(される)。
  • Haskellにおける空気のような存在。(そこら中に満たされていて、ないと窒息死する。)

return関数

  • 「値」を「ホゲホゲなモナド」に包むだけの単純な関数。
  • 他のプログラミング言語にある「return文」ではなく、引数を1つだけ取る「普通の関数」。(名前が紛らわしい。)
  • 他のプログラミング言語のように、そこで処理が戻ることはない。

(>>=)関数

  • 処理をつなぐ関数。
  • ベルトコンベアの1セクションのような物。

やること

  1. 「ホゲホゲなモナド」で梱包された物から「値a」を取り出す。
  2. 「値a」に何か処理を加えて「値b」にする。
  3. 処理を加えた「値b」を、再度「ホゲホゲなモナド」に包む。

ホゲホゲなモナド

Monad型クラスには、
  • 存在する ⇛ 「ホゲホゲなモナド」に「値」を「包む」インターフェイス。
  • 存在しない ⇛ 「ホゲホゲなモナド」から「値」を「取り出す」インターフェイス。

モナドの学習方法

タグ一覧