monad-validate 1.2.0.2 → 1.3.0.0
raw patch · 4 files changed
+11/−2 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Monad.Validate.Internal: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Control.Monad.Validate.Internal.ValidateT e m)
Files
- CHANGELOG.md +4/−0
- README.md +1/−1
- monad-validate.cabal +1/−1
- src/Control/Monad/Validate/Internal.hs +5/−0
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 1.3.0.0 [2023-08-17]++- Added `MonadFix` instance for `ValidateT`.+ # 1.2.0.2 [2023-08-17] - Added support for mtl 2.3.
README.md view
@@ -1,4 +1,4 @@-# monad-validate [](https://github.com/lexi-lambda/monad-validate/actions/workflows/build.yml) [][hackage]+# monad-validate [](https://github.com/lexi-lambda/monad-validate/actions/workflows/build.yml) [][hackage] A Haskell library providing the `ValidateT` monad transformer, designed for writing data validations that provide high-quality error reporting without much effort. `ValidateT` automatically exploits the data dependencies of your program—as encoded implicitly in uses of `fmap`, `<*>`, and `>>=`—to report as many errors as possible upon failure instead of completely aborting at the first one.
monad-validate.cabal view
@@ -1,6 +1,6 @@ cabal-version: 2.4 name: monad-validate-version: 1.2.0.2+version: 1.3.0.0 category: Control build-type: Simple
src/Control/Monad/Validate/Internal.hs view
@@ -10,6 +10,7 @@ import Control.Monad.Base import Control.Monad.Catch import Control.Monad.Except+import Control.Monad.Fix import Control.Monad.Reader.Class import Control.Monad.State.Strict import Control.Monad.Trans.Control@@ -302,6 +303,10 @@ instance MonadTrans (ValidateT e) where lift m = ValidateT (lift $ lift m) {-# INLINE lift #-}++instance (MonadFix m) => MonadFix (ValidateT e m) where+ mfix f = ValidateT $ mfix (\x -> getValidateT (f x))+ {-# INLINE mfix #-} instance (MonadIO m) => MonadIO (ValidateT e m) where liftIO = lift . liftIO