@@ -4,8 +4,8 @@ import Prelude
44
55import Control.Monad.Aff (Aff ())
66import Control.Monad.Cont.Trans (ContT ())
7+ import Control.Monad.Eff.Class (MonadEff )
78import Control.Monad.Except.Trans (ExceptT ())
8- import Control.Monad.Free (Free (), liftF )
99import Control.Monad.List.Trans (ListT ())
1010import Control.Monad.Maybe.Trans (MaybeT ())
1111import Control.Monad.Reader.Trans (ReaderT ())
@@ -16,50 +16,32 @@ import Control.Monad.Writer.Trans (WriterT())
1616
1717import Data.Monoid (Monoid )
1818
19- -- | A class for types that can carry an `Aff` value by some means.
20- class Affable e m where
21- liftAff :: forall a . Aff e a -> m a
19+ class (MonadEff eff m ) <= MonadAff eff m where
20+ liftAff :: forall a . Aff eff a -> m a
2221
23- instance affableAff :: Affable e (Aff e ) where
22+ instance monadAffAff :: MonadAff e (Aff e ) where
2423 liftAff = id
2524
26- instance affableFree :: (Affable eff f ) => Affable eff (Free f ) where
27- liftAff = liftF <<< liftAff
28-
29- instance affableContT :: (Monad m , Affable eff m ) => Affable eff (ContT r m ) where
25+ instance monadAffContT :: (MonadAff eff m ) => MonadAff eff (ContT r m ) where
3026 liftAff = lift <<< liftAff
3127
32- instance affableExceptT :: (Monad m , Affable eff m ) => Affable eff (ExceptT e m ) where
28+ instance monadAffExceptT :: (MonadAff eff m ) => MonadAff eff (ExceptT e m ) where
3329 liftAff = lift <<< liftAff
3430
35- instance affableListT :: (Monad m , Affable eff m ) => Affable eff (ListT m ) where
31+ instance monadAffListT :: (MonadAff eff m ) => MonadAff eff (ListT m ) where
3632 liftAff = lift <<< liftAff
3733
38- instance affableMaybe :: (Monad m , Affable eff m ) => Affable eff (MaybeT m ) where
34+ instance monadAffMaybe :: (MonadAff eff m ) => MonadAff eff (MaybeT m ) where
3935 liftAff = lift <<< liftAff
4036
41- instance affableReader :: (Monad m , Affable eff m ) => Affable eff (ReaderT r m ) where
37+ instance monadAffReader :: (MonadAff eff m ) => MonadAff eff (ReaderT r m ) where
4238 liftAff = lift <<< liftAff
4339
44- instance affableRWS :: (Monad m , Monoid w , Affable eff m ) => Affable eff (RWST r w s m ) where
40+ instance monadAffRWS :: (MonadAff eff m , Monoid w ) => MonadAff eff (RWST r w s m ) where
4541 liftAff = lift <<< liftAff
4642
47- instance affableState :: (Monad m , Affable eff m ) => Affable eff (StateT s m ) where
43+ instance monadAffState :: (MonadAff eff m ) => MonadAff eff (StateT s m ) where
4844 liftAff = lift <<< liftAff
4945
50- instance affableWriter :: (Monad m , Monoid w , Affable eff m ) => Affable eff (WriterT w m ) where
46+ instance monadAffWriter :: (MonadAff eff m , Monoid w ) => MonadAff eff (WriterT w m ) where
5147 liftAff = lift <<< liftAff
52-
53- -- | A class for types where the `Affable` instance for a `Monad` is also a monad
54- -- | morphism.
55- class (Monad m , Affable e m ) <= MonadAff e m
56-
57- instance monadAffAff :: MonadAff e (Aff e )
58- instance monadAffContT :: (Monad m , Affable eff m ) => MonadAff eff (ContT r m )
59- instance monadAffExceptT :: (Monad m , Affable eff m ) => MonadAff eff (ExceptT e m )
60- instance monadAffListT :: (Monad m , Affable eff m ) => MonadAff eff (ListT m )
61- instance monadAffMaybe :: (Monad m , Affable eff m ) => MonadAff eff (MaybeT m )
62- instance monadAffReader :: (Monad m , Affable eff m ) => MonadAff eff (ReaderT r m )
63- instance monadAffRWS :: (Monad m , Monoid w , Affable eff m ) => MonadAff eff (RWST r w s m )
64- instance monadAffState :: (Monad m , Affable eff m ) => MonadAff eff (StateT s m )
65- instance monadAffWriter :: (Monad m , Monoid w , Affable eff m ) => MonadAff eff (WriterT w m )
0 commit comments