generated at
Application Monad


ググってもあまり引っかからないのでもっと適切な名前があるのかも知らんmrsekut




tagless 関係なくhs全般の話
Monadを継承した型クラスのこと
任意のmonad内で特定の型を便利に扱うために定義された型クラス
hs
data Name = Name String data User = User { name :: Name, age :: Int } class Monad m => MonadDatabase m where getUser :: Name -> m User deleteUser :: User -> m ()
User 型を(特定の場面で)便利に使用するために、 MonadDatabase というApplication Monadを定義している

Three Haskell Cakeなどの AppM がそれに相当する