packages feed

multi-except 0.1.0.0 → 0.1.1.0

raw patch · 3 files changed

+17/−5 lines, 3 filesdep +semigroupoidsPVP ok

version bump matches the API change (PVP)

Dependencies added: semigroupoids

API changes (from Hackage documentation)

+ Control.Applicative.MultiExcept: instance Data.Functor.Alt.Alt (Control.Applicative.MultiExcept.MultiExcept err)

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ # Revision history for multi-except +## 0.1.1.0 -- 2021-05-11++* Added Alt instance from semigroupoids+ ## 0.1.0.0 -- 2021-05-11  * First version. Released on an unsuspecting world.
Control/Applicative/MultiExcept.hs view
@@ -14,9 +14,10 @@   , succeed   ) where -import Data.List.NonEmpty (NonEmpty)+import Data.Functor.Alt import Data.DList.DNonEmpty (DNonEmpty) import qualified Data.DList.DNonEmpty as DNE+import Data.List.NonEmpty (NonEmpty)  -- | A MultiExcept is a success value, or one or more errors data MultiExcept err a@@ -31,7 +32,7 @@  -- | Throw a single error throwError :: err -> MultiExcept err a-throwError = Errors . DNE.singleton+throwError = Errors . pure  -- | Embeds a value into a MultiExcept context succeed :: a -> MultiExcept err a@@ -44,7 +45,12 @@ instance Applicative (MultiExcept err) where   pure = succeed -  Errors l <*> Errors l' = Errors $ DNE.append l l'+  Errors l <*> Errors l' = Errors $ l <> l'   Success f <*> Success a = Success $ f a   Errors l <*> _ = Errors l   _ <*> Errors l = Errors l++instance Alt (MultiExcept err) where+  Success a <!> _ = Success a+  _ <!> Success a = Success a+  Errors l <!> Errors r = Errors (l <> r)
multi-except.cabal view
@@ -1,7 +1,7 @@ cabal-version:       >=1.10  name:                multi-except-version:             0.1.0.0+version:             0.1.1.0 synopsis:            Multiple Exceptions description:         Exception type that supports reporting multiple exceptions license:             MIT@@ -11,9 +11,11 @@ category:            Exceptions build-type:          Simple extra-source-files:  CHANGELOG.md+homepage:            https://github.com/414owen/multi-except  library-  exposed-modules:       Control.Applicative.MultiExcept+  exposed-modules:     Control.Applicative.MultiExcept   build-depends:       base >=4.0 && <5                      , dlist+                     , semigroupoids   default-language:    Haskell2010