タグ

ブックマーク / sirocco.hatenadiary.org (1)

  • liftMを学ぶ(モナドに関数を適用する) - sirocco の書いてもすぐに忘れるメモ

    liftM の使い方が分からなかったので調べてみました。 ghci> :m + Control.Monad ghci> :t liftM liftM :: (Monad m) => (a1 -> r) -> m a1 -> m r liftM は a1 を引数に r を帰す関数と モナドのインスタンス a1 を引数にとり、 モナドの r を返す。 つまり、a1 を引数に r を帰す普通の関数をモナドにも適用出来るようにするもの、って理解で良いかな。 「liftM関連 - おっぱい大魔神の日記」の例が分かりやすい。 import Control.Monad str = return "Haskell"::Maybe String main = print $ liftM length str length はリストを引数にリストの長さを返す関数ですから、以下のようにそのままではMaybe型の

    liftMを学ぶ(モナドに関数を適用する) - sirocco の書いてもすぐに忘れるメモ
    perezvon
    perezvon 2013/01/17
    liftM
  • 1