X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=RWST.dcl;h=582bb0de8b3dec7e3ad276f140d0c3279effaee4;hb=f081c2c5e248331eb6e2f090f4afe818fd8259eb;hp=70a07e15567c076a82129ad4bfbf0c78b7dc0eaa;hpb=13a108705dbabbc75711ce9b3b29fe508262919f;p=cc1516.git diff --git a/RWST.dcl b/RWST.dcl index 70a07e1..582bb0d 100644 --- a/RWST.dcl +++ b/RWST.dcl @@ -2,6 +2,7 @@ definition module RWST from Control.Applicative import class Applicative from Control.Monad import class Monad +from Control.Monad.Trans import class MonadTrans from Data.Functor import class Functor from Data.Functor.Identity import :: Identity from Data.Monoid import class Monoid, class Semigroup @@ -22,6 +23,7 @@ withRWS :: (r` s -> (r, s)) (RWS r w s a) -> RWS r` w s a instance Functor (RWST r w s m) | Monad m & Monoid w instance Applicative (RWST r w s m) | Monad m & Monoid w instance Monad (RWST r w s m) | Monad m & Monoid w +instance MonadTrans (RWST r w s) | Monoid w runRWST :: (RWST r w s m a) r s -> m (a, s, w) evalRWST :: (RWST r w s m a) r s -> m (a, w) | Monad m