mini 1.4.2.0 → 1.4.3.0
raw patch · 9 files changed
+78/−6 lines, 9 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Mini.Transformers.EitherT: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (Mini.Transformers.EitherT.EitherT e m)
+ Mini.Transformers.EitherT: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Mini.Transformers.EitherT.EitherT e m)
+ Mini.Transformers.MaybeT: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Mini.Transformers.MaybeT.MaybeT m)
+ Mini.Transformers.MaybeT: instance GHC.Base.Monad m => Control.Monad.Fail.MonadFail (Mini.Transformers.MaybeT.MaybeT m)
+ Mini.Transformers.ParserT: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Mini.Transformers.ParserT.ParserT s m)
+ Mini.Transformers.ReaderT: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (Mini.Transformers.ReaderT.ReaderT r m)
+ Mini.Transformers.ReaderT: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Mini.Transformers.ReaderT.ReaderT r m)
+ Mini.Transformers.StateT: instance Control.Monad.Fail.MonadFail m => Control.Monad.Fail.MonadFail (Mini.Transformers.StateT.StateT s m)
+ Mini.Transformers.StateT: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Mini.Transformers.StateT.StateT s m)
+ Mini.Transformers.WriterT: instance (Control.Monad.Fail.MonadFail m, GHC.Base.Monoid w) => Control.Monad.Fail.MonadFail (Mini.Transformers.WriterT.WriterT w m)
+ Mini.Transformers.WriterT: instance (Control.Monad.IO.Class.MonadIO m, GHC.Base.Monoid w) => Control.Monad.IO.Class.MonadIO (Mini.Transformers.WriterT.WriterT w m)
Files
- CHANGELOG.md +6/−0
- Mini/Data/Map.hs +1/−2
- Mini/Transformers/EitherT.hs +12/−0
- Mini/Transformers/MaybeT.hs +12/−0
- Mini/Transformers/ParserT.hs +8/−1
- Mini/Transformers/ReaderT.hs +14/−2
- Mini/Transformers/StateT.hs +12/−0
- Mini/Transformers/WriterT.hs +12/−0
- mini.cabal +1/−1
CHANGELOG.md view
@@ -1,3 +1,9 @@+1.4.3.0 [2024-12-08]+--------------------+* All transformers now instantiate:+ * MonadFail+ * MonadIO+ 1.4.2.0 [2024-12-07] -------------------- * Mini.Data.Set:
Mini/Data/Map.hs view
@@ -99,7 +99,6 @@ max, maybe, mempty,- not, pure, show, traverse,@@ -230,7 +229,7 @@ -- | /O(m log n)/ Unite a map with another via left-biased key matching union :: (Ord k) => Map k a -> Map k a -> Map k a-union t = foldrWithKey (\k a b -> bool b (insert k a b) . not $ k `member` t) t+union t = foldrWithKey (\k a b -> bool (insert k a b) b $ k `member` t) t {- - Conversion
Mini/Transformers/EitherT.hs view
@@ -23,6 +23,10 @@ liftM, (>=>), )+import Control.Monad.IO.Class (+ MonadIO,+ liftIO,+ ) import Mini.Transformers.Class ( MonadTrans, lift,@@ -35,8 +39,10 @@ ), Functor, Monad,+ MonadFail, Monoid, either,+ fail, fmap, mappend, mempty,@@ -84,6 +90,12 @@ instance MonadTrans (EitherT e) where lift = EitherT . fmap Right++instance (MonadFail m) => MonadFail (EitherT e m) where+ fail = EitherT . fail++instance (MonadIO m) => MonadIO (EitherT e m) where+ liftIO = lift . liftIO {- - Operations
Mini/Transformers/MaybeT.hs view
@@ -23,6 +23,10 @@ liftM, (>=>), )+import Control.Monad.IO.Class (+ MonadIO,+ liftIO,+ ) import Mini.Transformers.Class ( MonadTrans, lift,@@ -35,6 +39,8 @@ Nothing ), Monad,+ MonadFail,+ fail, fmap, maybe, pure,@@ -81,6 +87,12 @@ instance MonadTrans MaybeT where lift = MaybeT . fmap Just++instance (Monad m) => MonadFail (MaybeT m) where+ fail _ = empty++instance (MonadIO m) => MonadIO (MaybeT m) where+ liftIO = lift . liftIO {- - Operations
Mini/Transformers/ParserT.hs view
@@ -50,6 +50,10 @@ liftM, (>=>), )+import Control.Monad.IO.Class (+ MonadIO,+ liftIO,+ ) import Data.Bool ( bool, )@@ -119,7 +123,7 @@ -- | Parse @p@ or, if @p@ fails, backtrack and parse @q@ via @p \<|\> q@ instance (Monad m, Eq s) => Alternative (ParserT s m) where- empty = ParserT . const . pure . Left $ ParseError empty+ empty = fail empty m <|> n = ParserT $ \ss -> runParserT m ss >>= either@@ -146,6 +150,9 @@ instance (Monad m) => MonadFail (ParserT s m) where fail = ParserT . const . pure . Left . ParseError++instance (MonadIO m) => MonadIO (ParserT s m) where+ liftIO = lift . liftIO -- | A parse error newtype ParseError = ParseError {unexpected :: String}
Mini/Transformers/ReaderT.hs view
@@ -22,6 +22,10 @@ ap, liftM, )+import Control.Monad.IO.Class (+ MonadIO,+ liftIO,+ ) import Mini.Transformers.Class ( MonadTrans, lift,@@ -30,7 +34,9 @@ Applicative, Functor, Monad,+ MonadFail, const,+ fail, fmap, pure, ($),@@ -53,11 +59,11 @@ fmap = liftM instance (Monad m) => Applicative (ReaderT r m) where- pure = ReaderT . const . pure+ pure = lift . pure (<*>) = ap instance (Monad m, Alternative m) => Alternative (ReaderT r m) where- empty = ReaderT . const $ empty+ empty = lift empty m <|> n = ReaderT $ \r -> runReaderT m r <|> runReaderT n r instance (Monad m) => Monad (ReaderT r m) where@@ -65,6 +71,12 @@ instance MonadTrans (ReaderT r) where lift = ReaderT . const++instance (MonadFail m) => MonadFail (ReaderT r m) where+ fail = lift . fail++instance (MonadIO m) => MonadIO (ReaderT r m) where+ liftIO = lift . liftIO {- - Operations
Mini/Transformers/StateT.hs view
@@ -26,6 +26,10 @@ liftM, (>=>), )+import Control.Monad.IO.Class (+ MonadIO,+ liftIO,+ ) import Mini.Transformers.Class ( MonadTrans, lift,@@ -34,7 +38,9 @@ Applicative, Functor, Monad,+ MonadFail, const,+ fail, fmap, pure, ($),@@ -70,6 +76,12 @@ instance MonadTrans (StateT s) where lift m = StateT $ \s -> (,s) <$> m++instance (MonadFail m) => MonadFail (StateT s m) where+ fail = StateT . const . fail++instance (MonadIO m) => MonadIO (StateT s m) where+ liftIO = lift . liftIO {- - Operations
Mini/Transformers/WriterT.hs view
@@ -23,6 +23,10 @@ ap, liftM, )+import Control.Monad.IO.Class (+ MonadIO,+ liftIO,+ ) import Mini.Transformers.Class ( MonadTrans, lift,@@ -31,7 +35,9 @@ Applicative, Functor, Monad,+ MonadFail, Monoid,+ fail, fmap, mempty, pure,@@ -71,6 +77,12 @@ instance (Monoid w) => MonadTrans (WriterT w) where lift = WriterT . fmap (,mempty)++instance (MonadFail m, Monoid w) => MonadFail (WriterT w m) where+ fail = WriterT . fail++instance (MonadIO m, Monoid w) => MonadIO (WriterT w m) where+ liftIO = lift . liftIO {- - Operations
mini.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.0 name: mini-version: 1.4.2.0+version: 1.4.3.0 license: MIT license-file: LICENSE author: Victor Wallsten <victor.wallsten@protonmail.com>