Identityモナド
何もしないMonad型クラス
「恒等モナド」とも呼ばれる
モナドに於ける単位元のようなもの
作用させても何も変わらない
モナド変換子を使うときなどに使用する
実装
code:hs
newtype Identity a = Identity { runIdentity :: a }
instance Monad Identity where
return = Identity
Identity x >>= f = f x
bindはただの関数適用
import
import Data.Functor.Identity
関数
runIdentity
値を取り出す
参考
Haskell モナド変換子 超入門 - Qiita