packages feed

hreader 0.0.1 → 0.0.2

raw patch · 4 files changed

+30/−6 lines, 4 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Control.Monad.HReader: runUnversalT :: HSet els -> HReaderT els m a -> m a
+ Control.Monad.HReader: runHReaderT :: HSet els -> HReaderT els m a -> m a

Files

CHANGELOG.md view
@@ -1,4 +1,7 @@ # CHANGELOG +## 0.0.2+Make it compilable on base-4.7+ ## 0.0.1 First working version
hreader.cabal view
@@ -1,5 +1,5 @@ name:                hreader-version:             0.0.1+version:             0.0.2 synopsis:            Generalization of MonadReader and ReaderT license:             BSD3 license-file:        LICENSE
src/Control/Monad/HReader.hs view
@@ -1,4 +1,8 @@-module Control.Monad.HReader where+module Control.Monad.HReader+       ( HReaderT(..)+       , runHReaderT+       , module Control.Monad.HReader.Class+       ) where  import Control.Monad.Base import Control.Monad.Catch@@ -19,6 +23,11 @@ import Control.Monad.Error #endif +#if !(MIN_VERSION_base(4,8,0))+import Control.Applicative+#endif++ newtype HReaderT els m a = HReaderT     { unHReaderT :: ReaderT (HSet els) m a     } deriving ( Functor, Applicative, Monad, MonadIO@@ -27,8 +36,8 @@                , MonadThrow, MonadCatch                , Typeable, Generic  ) -runUnversalT :: HSet els -> HReaderT els m a -> m a-runUnversalT h (HReaderT r) = runReaderT r h+runHReaderT :: HSet els -> HReaderT els m a -> m a+runHReaderT h (HReaderT r) = runReaderT r h  instance MonadTrans (HReaderT els) where   lift = HReaderT . lift@@ -38,7 +47,7 @@   local f ma = HReaderT $ do     h <- ask     lift $ do-      local f $ runUnversalT h ma+      local f $ runHReaderT h ma  instance (Monad m) => MonadHReader (HReaderT els m) where   type HSetElements (HReaderT els m) = els
src/Control/Monad/HReader/Class.hs view
@@ -1,5 +1,10 @@-module Control.Monad.HReader.Class where+module Control.Monad.HReader.Class+       ( MonadHReader(..)+       , haskM+       , haskLabeledM+       ) where + import Control.Monad.Cont import Control.Monad.List import Control.Monad.Reader@@ -9,6 +14,12 @@ import Control.Monad.Except #endif +#if !(MIN_VERSION_base(4,8,0))+import Control.Applicative+import Data.Monoid+#endif++ import qualified Control.Monad.RWS.Lazy   as RWSL import qualified Control.Monad.RWS.Strict as RWSS import qualified Control.Monad.State.Lazy   as SL@@ -17,6 +28,7 @@ import qualified Control.Monad.Writer.Strict as WS  +-- | Monad which is a reader of HSet (or just can construct it). #if MIN_VERSION_base(4, 8, 0) class (Monad m) => MonadHReader m where #else