packages feed

failure 0.0.0.1 → 0.0.0.2

raw patch · 2 files changed

+20/−2 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Control.Failure: instance Applicative DummyMonad
+ Control.Failure: instance ApplicativeFailure e DummyMonad
+ Control.Failure: instance Failure e DummyMonad
+ Control.Failure: instance Functor DummyMonad
+ Control.Failure: instance FunctorFailure e DummyMonad
+ Control.Failure: instance Monad DummyMonad
+ Control.Failure: instance MonadFailure e DummyMonad

Files

Control/Failure.hs view
@@ -26,7 +26,8 @@ import Prelude hiding (catch) import Control.Exception (throw, catch, Exception, SomeException (..)) import Data.Typeable (Typeable)-import Control.Applicative (Applicative, pure)+import Control.Applicative (Applicative (..))+import Control.Monad (liftM, ap)  class Failure e f where     failure :: e -> f v@@ -39,6 +40,23 @@ instance (Functor f, Failure e f) => FunctorFailure e f instance (Applicative f, Failure e f) => ApplicativeFailure e f instance (Monad f, Applicative f, Failure e f) => MonadFailure e f++-- In order to avoid type signature pollution, we provide a single concrete+-- instance of the above typeclass synonyms.+newtype DummyMonad a = DummyMonad a+instance Functor DummyMonad where+    fmap = liftM+instance Applicative DummyMonad where+    pure = return+    (<*>) = ap+instance Monad DummyMonad where+    return = DummyMonad+    (DummyMonad a) >>= f = f a+instance Failure e DummyMonad where+    failure _ = error "DummyMonad should never actually be used"+instance FunctorFailure e DummyMonad+instance ApplicativeFailure e DummyMonad+instance MonadFailure e DummyMonad  class Failure e f => WrapFailure e f where     -- | Wrap the failure value, if any, with the given function. This is
failure.cabal view
@@ -1,5 +1,5 @@ name: failure-version: 0.0.0.1+version: 0.0.0.2 Cabal-Version:  >= 1.6 build-type: Simple license: PublicDomain