packages feed

result 0.2.4.0 → 0.2.5.0

raw patch · 3 files changed

+18/−1 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Control.Monad.Trans.Result: fromExceptT :: Functor f => ExceptT e f a -> ResultT e f a
+ Data.Result: fromEither :: Either e a -> Result e a

Files

result.cabal view
@@ -1,5 +1,5 @@ name:                result-version:             0.2.4.0+version:             0.2.5.0 synopsis:            Encode success or at least one error homepage:            https://github.com/srijs/haskell-result license:             MIT
src/Control/Monad/Trans/Result.hs view
@@ -4,12 +4,14 @@   ( ResultT, runResultT, hoist   , raiseT, raiseAllT   , accumulateT+  , fromExceptT   ) where   import Control.Applicative (liftA2) import Control.Monad (join) import Control.Monad.Trans.Class+import Control.Monad.Trans.Except import qualified Control.Monad.State.Class as State  import Data.Functor.Identity@@ -65,6 +67,11 @@ accumulateT :: (Traversable t , Applicative f) => t (ResultT e f a) -> ResultT e f (t a) accumulateT results =   ResultT (accumulate <$> traverse runResultT results)+++fromExceptT :: Functor f => ExceptT e f a -> ResultT e f a+fromExceptT excT =+  ResultT (fromEither <$> runExceptT excT)   instance State.MonadState s m => State.MonadState s (ResultT e m) where
src/Data/Result.hs view
@@ -5,6 +5,7 @@   , get, errors   , raise, raiseAll   , accumulate+  , fromEither   ) where  @@ -96,6 +97,15 @@       NonEmpty.toList es     Right _ ->       []+++fromEither :: Either e a -> Result e a+fromEither eith =+  Result $ case eith of+    Left e ->+      Left (e NonEmpty.:| [])+    Right a ->+      Right a   data AccumulatingResult e a = AccRes { getResult :: Result e a }