packages feed

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 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 [![Build Status](https://img.shields.io/github/actions/workflow/status/lexi-lambda/monad-validate/build.yml?branch=master)](https://github.com/lexi-lambda/monad-validate/actions/workflows/build.yml) [![Hackage](https://img.shields.io/badge/hackage-1.2.0.2-5e5184)][hackage]+# monad-validate [![Build Status](https://img.shields.io/github/actions/workflow/status/lexi-lambda/monad-validate/build.yml?branch=master)](https://github.com/lexi-lambda/monad-validate/actions/workflows/build.yml) [![Hackage](https://img.shields.io/badge/hackage-1.3.0.0-5e5184)][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