Skip to content

Commit 482dada

Browse files
committed
Merge pull request #50 from garyb/affable-2
Remove Affable
2 parents ef63d66 + 2ab718f commit 482dada

File tree

2 files changed

+12
-31
lines changed

2 files changed

+12
-31
lines changed

bower.json

-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
"dependencies": {
2020
"purescript-console": "^0.1.0",
2121
"purescript-exceptions": "^0.3.0",
22-
"purescript-free": "^0.9.1",
2322
"purescript-functions": "^0.1.0",
2423
"purescript-transformers": "^0.8.1"
2524
}

src/Control/Monad/Aff/Class.purs

+12-30
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import Prelude
44

55
import Control.Monad.Aff (Aff())
66
import Control.Monad.Cont.Trans (ContT())
7+
import Control.Monad.Eff.Class (MonadEff)
78
import Control.Monad.Except.Trans (ExceptT())
8-
import Control.Monad.Free (Free(), liftF)
99
import Control.Monad.List.Trans (ListT())
1010
import Control.Monad.Maybe.Trans (MaybeT())
1111
import Control.Monad.Reader.Trans (ReaderT())
@@ -16,50 +16,32 @@ import Control.Monad.Writer.Trans (WriterT())
1616

1717
import 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

Comments
 (0)