File tree Expand file tree Collapse file tree 1 file changed +4
-0
lines changed Expand file tree Collapse file tree 1 file changed +4
-0
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ import Prelude
10
10
11
11
import Control.Alt (class Alt , (<|>))
12
12
import Control.Alternative (class Alternative )
13
+ import Control.Lazy (class Lazy )
13
14
import Control.Monad.Eff.Class (class MonadEff , liftEff )
14
15
import Control.Monad.Error.Class (class MonadError , throwError , catchError )
15
16
import Control.Monad.Reader.Class (class MonadAsk , class MonadReader )
@@ -81,6 +82,9 @@ instance monadRWST :: (Monad m, Monoid w) => Monad (RWST r w s m)
81
82
instance monadTransRWST :: Monoid w => MonadTrans (RWST r w s ) where
82
83
lift m = RWST \_ s -> m >>= \a -> pure $ RWSResult s a mempty
83
84
85
+ instance lazyRWST :: Lazy (RWST r w s m a ) where
86
+ defer f = RWST \r s -> case f unit of RWST f' -> f' r s
87
+
84
88
instance monadEffRWS :: (Monoid w , MonadEff eff m ) => MonadEff eff (RWST r w s m ) where
85
89
liftEff = lift <<< liftEff
86
90
You can’t perform that action at this time.
0 commit comments