on master help sign in
Explicit export lists
d8b183bIndex Int
src/Control/Monad/Ether/Reader.hs+18−2
@@ -10,8 +10,24 @@
10{-# LANGUAGE ScopedTypeVariables #-}
10{-# LANGUAGE ScopedTypeVariables #-}
11{-# LANGUAGE GeneralizedNewtypeDeriving #-}
11{-# LANGUAGE GeneralizedNewtypeDeriving #-}
12module Control.Monad.Ether.Reader
12module Control.Monad.Ether.Reader
13− ( module Control.Monad.Ether.Reader
13+ ( EtherReaderT
14− , module Control.Monad.Trans.Ether.Reader
14+ , EtherReader
15+ , ReaderT'
16+ , Reader'
17+ , runEtherReaderT
18+ , runEtherReader
19+ , runReaderT'
20+ , runReader'
21+ --
22+ , MonadEtherReader
23+ , etherLocal
24+ , etherAsk
25+ , etherReader
26+ --
27+ , MonadReader'
28+ , local'
29+ , ask'
30+ , reader'
15 ) where
31 ) where
16
32
17import Data.Proxy (Proxy(Proxy))
33import Data.Proxy (Proxy(Proxy))
src/Control/Monad/Trans/Ether/Reader.hs+20−3
@@ -6,7 +6,21 @@
6{-# LANGUAGE DataKinds #-}
6{-# LANGUAGE DataKinds #-}
7{-# LANGUAGE TypeOperators #-}
7{-# LANGUAGE TypeOperators #-}
8{-# LANGUAGE GeneralizedNewtypeDeriving #-}
8{-# LANGUAGE GeneralizedNewtypeDeriving #-}
9−module Control.Monad.Trans.Ether.Reader where
9+module Control.Monad.Trans.Ether.Reader
10+ ( EtherReaderT
11+ , EtherReader
12+ , ReaderT'
13+ , Reader'
14+ , runEtherReaderT
15+ , runEtherReader
16+ , runReaderT'
17+ , runReader'
18+ --
19+ , etherReaderT
20+ , mapEtherReaderT
21+ , liftCatch
22+ , liftCallCC
23+ ) where
10
24
11import Data.Proxy (Proxy(Proxy))
25import Data.Proxy (Proxy(Proxy))
12import Data.Functor.Identity (Identity(..))
26import Data.Functor.Identity (Identity(..))
@@ -54,10 +68,13 @@ liftCatch _proxy f m h = EtherReaderT $ R.liftCatch f (coerce m) (coerce h)
54liftCallCC :: proxy tag -> Sig.CallCC m a b -> Sig.CallCC (EtherReaderT tag r m) a b
68liftCallCC :: proxy tag -> Sig.CallCC m a b -> Sig.CallCC (EtherReaderT tag r m) a b
55liftCallCC _proxy callCC f = EtherReaderT $ R.liftCallCC callCC (coerce f)
69liftCallCC _proxy callCC f = EtherReaderT $ R.liftCallCC callCC (coerce f)
56
70
71+type ReaderT' r = EtherReaderT r r
72+type Reader' r = EtherReader r r
73+
57−runReaderT' :: EtherReaderT r r m a -> r -> m a
74+runReaderT' :: ReaderT' r m a -> r -> m a
58runReaderT' = runEtherReaderT Proxy
75runReaderT' = runEtherReaderT Proxy
59
76
60−runReader' :: EtherReader r r a -> r -> a
77+runReader' :: Reader' r a -> r -> a
61runReader' m r = runIdentity (runEtherReaderT Proxy m r)
78runReader' m r = runIdentity (runEtherReaderT Proxy m r)
62
79
63-- Instances for mtl classes
80-- Instances for mtl classes