packages feed

explicit-exception 0.1.9 → 0.1.9.1

raw patch · 3 files changed

+27/−13 lines, 3 filesdep +semigroupsPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

Dependencies added: semigroups

API changes (from Hackage documentation)

+ Control.Monad.Exception.Asynchronous.Lazy: instance (GHC.Base.Monad m, GHC.Base.Monoid a) => Data.Semigroup.Semigroup (Control.Monad.Exception.Asynchronous.Lazy.ExceptionalT e m a)
+ Control.Monad.Exception.Asynchronous.Lazy: instance GHC.Base.Monoid a => Data.Semigroup.Semigroup (Control.Monad.Exception.Asynchronous.Lazy.Exceptional e a)
+ Control.Monad.Exception.Asynchronous.Strict: instance (GHC.Base.Monad m, GHC.Base.Monoid a) => Data.Semigroup.Semigroup (Control.Monad.Exception.Asynchronous.Strict.ExceptionalT e m a)
+ Control.Monad.Exception.Asynchronous.Strict: instance GHC.Base.Monoid a => Data.Semigroup.Semigroup (Control.Monad.Exception.Asynchronous.Strict.Exceptional e a)

Files

explicit-exception.cabal view
@@ -1,5 +1,5 @@ Name:             explicit-exception-Version:          0.1.9+Version:          0.1.9.1 License:          BSD3 License-File:     LICENSE Author:           Henning Thielemann <haskell@henning-thielemann.de>@@ -42,7 +42,7 @@ Source-Repository this   type:     darcs   location: http://code.haskell.org/explicit-exception/-  tag:      0.1.9+  tag:      0.1.9.1  Flag buildTests   description: Build executables that demonstrate some space leaks@@ -55,6 +55,7 @@ Library   Build-Depends:     transformers >=0.2 && <0.6,+    semigroups >=0.1 && <1.0,     deepseq >=1.1 && <1.5   If impl(jhc)     Build-Depends:@@ -117,7 +118,6 @@  Executable ee-writer   If !flag(buildTests)-    Buildable: False     Buildable: False   GHC-Options: -Wall   Hs-Source-Dirs: spaceleak
src/Control/Monad/Exception/Asynchronous/Lazy.hs view
@@ -54,6 +54,7 @@ import Data.Foldable (Foldable, ) -} import Data.Monoid(Monoid, mappend, mempty, )+import Data.Semigroup (Semigroup((<>)), ) import Data.Function (const, (.), ($), ) import Data.Maybe (Maybe(Just, Nothing), maybe, ) @@ -207,6 +208,10 @@ instance (NFData e, NFData a) => NFData (Exceptional e a) where    rnf (Exceptional e a) = rnf (e, a) +instance Monoid a => Semigroup (Exceptional e a) where+   Exceptional ea a <> Exceptional eb b =+      Exceptional (mplus ea eb) (mappend a (maybe b (const mempty) ea))+ {- | 'mappend' must be strict in order to fulfill the Monoid laws @mappend mempty a = a@ and @mappend a mempty = a@ for @a=undefined@.@@ -214,8 +219,7 @@ instance Monoid a => Monoid (Exceptional e a) where    mempty = pure mempty --   mappend = append-   mappend (Exceptional ea a) (Exceptional eb b) =-      Exceptional (mplus ea eb) (mappend a (maybe b (const mempty) ea))+   mappend = (<>)   {- | construct Exceptional constructor lazily -}@@ -392,11 +396,14 @@    fmap f (ExceptionalT x) =       ExceptionalT (fmap (fmap f) x) -instance (Monad m, Monoid a) => Monoid (ExceptionalT e m a) where-   mempty = ExceptionalT $ return mempty-   mappend x y =+instance (Monad m, Monoid a) => Semigroup (ExceptionalT e m a) where+   x <> y =       ExceptionalT $       appendM (runExceptionalT x) (runExceptionalT y)++instance (Monad m, Monoid a) => Monoid (ExceptionalT e m a) where+   mempty = ExceptionalT $ return mempty+   mappend = (<>)  {- instance Applicative m => Applicative (ExceptionalT e m) where
src/Control/Monad/Exception/Asynchronous/Strict.hs view
@@ -54,6 +54,7 @@ import Data.Foldable (Foldable, ) -} import Data.Monoid(Monoid, mappend, mempty, )+import Data.Semigroup (Semigroup((<>)), ) import Data.Function (const, (.), ($), ) import Data.Maybe (Maybe(Just, Nothing), maybe, ) @@ -201,6 +202,10 @@ instance (NFData e, NFData a) => NFData (Exceptional e a) where    rnf (Exceptional e a) = rnf (e, a) +instance Monoid a => Semigroup (Exceptional e a) where+   Exceptional ea a <> Exceptional eb b =+      Exceptional (mplus ea eb) (mappend a (maybe b (const mempty) ea))+ {- | 'mappend' must be strict in order to fulfill the Monoid laws @mappend mempty a = a@ and @mappend a mempty = a@ for @a=undefined@.@@ -208,8 +213,7 @@ instance Monoid a => Monoid (Exceptional e a) where    mempty = pure mempty --   mappend = append-   mappend (Exceptional ea a) (Exceptional eb b) =-      Exceptional (mplus ea eb) (mappend a (maybe b (const mempty) ea))+   mappend = (<>)   {- | construct Exceptional constructor lazily -}@@ -372,11 +376,14 @@    fmap f (ExceptionalT x) =       ExceptionalT (fmap (fmap f) x) -instance (Monad m, Monoid a) => Monoid (ExceptionalT e m a) where-   mempty = ExceptionalT $ return mempty-   mappend x y =+instance (Monad m, Monoid a) => Semigroup (ExceptionalT e m a) where+   x <> y =       ExceptionalT $       appendM (runExceptionalT x) (runExceptionalT y)++instance (Monad m, Monoid a) => Monoid (ExceptionalT e m a) where+   mempty = ExceptionalT $ return mempty+   mappend = (<>)  {- instance Applicative m => Applicative (ExceptionalT e m) where