hreader 0.0.2 → 0.1.0
raw patch · 4 files changed
+9/−9 lines, 4 filesdep ~basedep ~hsetPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, hset
API changes (from Hackage documentation)
- Control.Monad.HReader: [unHReaderT] :: HReaderT els m a -> ReaderT (HSet els) m a
- Control.Monad.HReader: instance Control.Monad.Base.MonadBase b m => Control.Monad.Base.MonadBase b (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Morph.MFunctor (Control.Monad.HReader.HReaderT els)
- Control.Monad.HReader: instance Control.Monad.Morph.MMonad (Control.Monad.HReader.HReaderT els)
- Control.Monad.HReader: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Trans.Class.MonadTrans (Control.Monad.HReader.HReaderT els)
- Control.Monad.HReader: instance Control.Monad.Trans.Control.MonadBaseControl b m => Control.Monad.Trans.Control.MonadBaseControl b (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance Control.Monad.Trans.Control.MonadTransControl (Control.Monad.HReader.HReaderT els)
- Control.Monad.HReader: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance GHC.Base.Applicative m => GHC.Base.Applicative (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance GHC.Base.Functor m => GHC.Base.Functor (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance GHC.Base.Monad m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance GHC.Base.Monad m => GHC.Base.Monad (Control.Monad.HReader.HReaderT els m)
- Control.Monad.HReader: instance GHC.Generics.Constructor Control.Monad.HReader.C1_0HReaderT
- Control.Monad.HReader: instance GHC.Generics.Datatype Control.Monad.HReader.D1HReaderT
- Control.Monad.HReader: instance GHC.Generics.Generic (Control.Monad.HReader.HReaderT els m a)
- Control.Monad.HReader: instance GHC.Generics.Selector Control.Monad.HReader.S1_0_0HReaderT
- Control.Monad.HReader.Class: instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.RWS.Lazy.RWST r w s m)
- Control.Monad.HReader.Class: instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.RWS.Strict.RWST r w s m)
- Control.Monad.HReader.Class: instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Writer.Lazy.WriterT w m)
- Control.Monad.HReader.Class: instance (Control.Monad.HReader.Class.MonadHReader m, GHC.Base.Monoid w) => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Writer.Strict.WriterT w m)
- Control.Monad.HReader.Class: instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Cont.ContT r m)
- Control.Monad.HReader.Class: instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Except.ExceptT e m)
- Control.Monad.HReader.Class: instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.List.ListT m)
- Control.Monad.HReader.Class: instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.Reader.ReaderT r m)
- Control.Monad.HReader.Class: instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.State.Lazy.StateT s m)
- Control.Monad.HReader.Class: instance Control.Monad.HReader.Class.MonadHReader m => Control.Monad.HReader.Class.MonadHReader (Control.Monad.Trans.State.Strict.StateT s m)
+ Control.Monad.HReader: instance (Monad m, Applicative m) => MonadHReader (HReaderT els m)
+ Control.Monad.HReader: instance Applicative m => Applicative (HReaderT els m)
+ Control.Monad.HReader: instance Constructor C1_0HReaderT
+ Control.Monad.HReader: instance Datatype D1HReaderT
+ Control.Monad.HReader: instance Functor m => Functor (HReaderT els m)
+ Control.Monad.HReader: instance Generic (HReaderT els m a)
+ Control.Monad.HReader: instance MFunctor (HReaderT els)
+ Control.Monad.HReader: instance MMonad (HReaderT els)
+ Control.Monad.HReader: instance Monad m => Monad (HReaderT els m)
+ Control.Monad.HReader: instance MonadBase b m => MonadBase b (HReaderT els m)
+ Control.Monad.HReader: instance MonadBaseControl b m => MonadBaseControl b (HReaderT els m)
+ Control.Monad.HReader: instance MonadCatch m => MonadCatch (HReaderT els m)
+ Control.Monad.HReader: instance MonadCont m => MonadCont (HReaderT els m)
+ Control.Monad.HReader: instance MonadError e m => MonadError e (HReaderT els m)
+ Control.Monad.HReader: instance MonadIO m => MonadIO (HReaderT els m)
+ Control.Monad.HReader: instance MonadReader r m => MonadReader r (HReaderT els m)
+ Control.Monad.HReader: instance MonadState s m => MonadState s (HReaderT els m)
+ Control.Monad.HReader: instance MonadThrow m => MonadThrow (HReaderT els m)
+ Control.Monad.HReader: instance MonadTrans (HReaderT els)
+ Control.Monad.HReader: instance MonadTransControl (HReaderT els)
+ Control.Monad.HReader: instance MonadWriter w m => MonadWriter w (HReaderT els m)
+ Control.Monad.HReader: instance Selector S1_0_0HReaderT
+ Control.Monad.HReader: instance Typeable HReaderT
+ Control.Monad.HReader: unHReaderT :: HReaderT els m a -> ReaderT (HSet els) m a
+ Control.Monad.HReader.Class: instance (MonadHReader m, Monoid w) => MonadHReader (RWST r w s m)
+ Control.Monad.HReader.Class: instance (MonadHReader m, Monoid w) => MonadHReader (WriterT w m)
+ Control.Monad.HReader.Class: instance MonadHReader m => MonadHReader (ContT r m)
+ Control.Monad.HReader.Class: instance MonadHReader m => MonadHReader (ExceptT e m)
+ Control.Monad.HReader.Class: instance MonadHReader m => MonadHReader (ListT m)
+ Control.Monad.HReader.Class: instance MonadHReader m => MonadHReader (ReaderT r m)
+ Control.Monad.HReader.Class: instance MonadHReader m => MonadHReader (StateT s m)
- Control.Monad.HReader.Class: class (Monad m) => MonadHReader m where type family HSetElements m :: [*]
+ Control.Monad.HReader.Class: class (Monad m, Applicative m) => MonadHReader m where type family HSetElements m :: [*]
- Control.Monad.HReader.Class: haskLabeledM :: (MonadHReader m, Contains (HSetElements m) (Labeled label e)) => proxy label -> m e
+ Control.Monad.HReader.Class: haskLabeledM :: (MonadHReader m, HGetable (HSetElements m) (Labeled label e)) => proxy label -> m e
- Control.Monad.HReader.Class: haskM :: (MonadHReader m, Contains (HSetElements m) e) => m e
+ Control.Monad.HReader.Class: haskM :: (MonadHReader m, HGetable (HSetElements m) e) => m e
Files
- CHANGELOG.md +4/−0
- hreader.cabal +2/−2
- src/Control/Monad/HReader.hs +1/−1
- src/Control/Monad/HReader/Class.hs +2/−6
CHANGELOG.md view
@@ -1,5 +1,9 @@ # CHANGELOG +## 0.1.0+### Changed+* Use `hset-1.0.0`+ ## 0.0.2 Make it compilable on base-4.7
hreader.cabal view
@@ -1,5 +1,5 @@ name: hreader-version: 0.0.2+version: 0.1.0 synopsis: Generalization of MonadReader and ReaderT license: BSD3 license-file: LICENSE@@ -34,7 +34,7 @@ build-depends: base >= 4.7 && < 5 , exceptions- , hset >= 0.1.0 && < 1.0.0+ , hset >= 1.0.0 && < 2.0.0 , mmorph , monad-control , mtl
src/Control/Monad/HReader.hs view
@@ -49,7 +49,7 @@ lift $ do local f $ runHReaderT h ma -instance (Monad m) => MonadHReader (HReaderT els m) where+instance (Monad m, Applicative m) => MonadHReader (HReaderT els m) where type HSetElements (HReaderT els m) = els askHSet = HReaderT ask
src/Control/Monad/HReader/Class.hs view
@@ -29,21 +29,17 @@ -- | 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 class (Monad m, Applicative m) => MonadHReader m where-#endif type HSetElements m :: [*] askHSet :: m (HSet (HSetElements m)) -- | Ask arbitrary element of hset inside HReader-haskM :: (MonadHReader m, Contains (HSetElements m) e)+haskM :: (MonadHReader m, HGetable (HSetElements m) e) => m e haskM = hget <$> askHSet -- | Ask arbitrary labeled element of hset in HReader-haskLabeledM :: (MonadHReader m, Contains (HSetElements m) (Labeled label e))+haskLabeledM :: (MonadHReader m, HGetable (HSetElements m) (Labeled label e)) => proxy label -> m e haskLabeledM p = hgetLabeled p <$> askHSet