packages feed

data-layer 1.0.2 → 1.0.3

raw patch · 2 files changed

+10/−5 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.Layer.Coat: instance (GHC.Base.Monad m, Data.Layer.Coat.CoatConstructor m (Data.Construction.Destructed a), Data.Layer.Coat.Uncoated a ~ Data.Layer.Coat.Uncoated (Data.Construction.Destructed a), Data.Construction.Constructor m a) => Data.Layer.Coat.CoatConstructor m a
+ Data.Layer.Coat: class CoatDestructor m a
+ Data.Layer.Coat: destructCoat :: CoatDestructor m a => a -> m (Uncoated a)
+ Data.Layer.Coat: instance (Data.Layer.Coat.CoatConstructor m (Data.Construction.Destructed a), Data.Layer.Coat.Uncoated a ~ Data.Layer.Coat.Uncoated (Data.Construction.Destructed a), Data.Construction.Constructor m a, GHC.Base.Monad m) => Data.Layer.Coat.CoatConstructor m a
+ Data.Layer.Coat: instance (Data.Layer.Coat.Uncoated a ~ Data.Layer.Coat.Uncoated (Data.Construction.Destructed a), Data.Layer.Coat.CoatDestructor m (Data.Construction.Destructed a), Data.Construction.Destructor m a, GHC.Base.Monad m) => Data.Layer.Coat.CoatDestructor m a
+ Data.Layer.Coat: instance GHC.Base.Monad m => Data.Layer.Coat.CoatDestructor m (Data.Layer.Coat.Coat a)

Files

data-layer.cabal view
@@ -1,5 +1,5 @@ name: data-layer-version: 1.0.2+version: 1.0.3 cabal-version: >=1.10 build-type: Simple license: Apache-2.0
src/Data/Layer/Coat.hs view
@@ -60,13 +60,18 @@ -- === Coat generator ===  class CoatConstructor m a where constructCoat :: Uncoated a -> m a-instance {-# OVERLAPPABLE #-} ( Monad m-                              , CoatConstructor m (Destructed a)+instance {-# OVERLAPPABLE #-} ( CoatConstructor m (Destructed a)                               , Uncoated a ~ Uncoated (Destructed a)                               , Constructor m a-                              )       => CoatConstructor m a        where constructCoat = constructCoat >=> construct-instance {-# OVERLAPPABLE #-} Monad m => CoatConstructor m (Coat a) where constructCoat = return . Coat+                              , Monad m ) => CoatConstructor m a        where constructCoat = constructCoat >=> construct+instance {-# OVERLAPPABLE #-}   Monad m   => CoatConstructor m (Coat a) where constructCoat = return . Coat +class CoatDestructor m a where destructCoat :: a -> m (Uncoated a)+instance {-# OVERLAPPABLE #-} ( Uncoated a ~ Uncoated (Destructed a)+                              , CoatDestructor m (Destructed a)+                              , Destructor m a+                              , Monad m ) => CoatDestructor m a        where destructCoat = destruct >=> destructCoat+instance {-# OVERLAPPABLE #-}   Monad m   => CoatDestructor m (Coat a) where destructCoat = return . view _Wrapped'  --class Destruction m a where destroy :: a -> m (Uncoated a) --instance {-# OVERLAPPABLE #-} Monad m => Destruction m (Coat a) where destroy = return . unlayer