free-algebras 0.0.8.1 → 0.0.8.2
raw patch · 2 files changed
+15/−11 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Algebra.Free2: foldFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) a b. (FreeAlgebra2 m, AlgebraType m f) => m f a b -> f a b
+ Control.Algebra.Free2: foldFree2 :: forall k (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) a b. (FreeAlgebra2 m, AlgebraType m f) => m f a b -> f a b
- Control.Algebra.Free2: hoistFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) g a b. (FreeAlgebra2 m, AlgebraType0 m g, AlgebraType0 m f) => (forall x y. f x y -> g x y) -> m f a b -> m g a b
+ Control.Algebra.Free2: hoistFree2 :: forall k (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) g a b. (FreeAlgebra2 m, AlgebraType0 m g, AlgebraType0 m f) => (forall x y. f x y -> g x y) -> m f a b -> m g a b
- Control.Algebra.Free2: joinFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) a b. (FreeAlgebra2 m, AlgebraType0 m f) => m (m f) a b -> m f a b
+ Control.Algebra.Free2: joinFree2 :: forall k (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) a b. (FreeAlgebra2 m, AlgebraType0 m f) => m (m f) a b -> m f a b
- Control.Algebra.Free2: unFoldNatFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) d a b. (FreeAlgebra2 m, AlgebraType0 m f) => (forall x y. m f x y -> d x y) -> f a b -> d a b
+ Control.Algebra.Free2: unFoldNatFree2 :: forall k (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) d a b. (FreeAlgebra2 m, AlgebraType0 m f) => (forall x y. m f x y -> d x y) -> f a b -> d a b
Files
- free-algebras.cabal +4/−4
- src/Control/Algebra/Free2.hs +11/−7
free-algebras.cabal view
@@ -1,5 +1,6 @@+cabal-version: 2.0 name: free-algebras-version: 0.0.8.1+version: 0.0.8.2 synopsis: Free algebras description: Algebraic approach to free algebras, inspired by Univeral Algebra and@@ -10,16 +11,15 @@ bug-reports: https://github.com/coot/free-algebras/issues author: Marcin Szamotulski maintainer: profunctor@pm.me-copyright: (c) 2018-2019 Marcin Szamotulski+copyright: (c) 2018-2020 Marcin Szamotulski license: MPL-2.0 license-file: LICENSE build-type: Simple-cabal-version: >= 1.10 extra-source-files: ChangeLog.md README.md stability: experimental-tested-with: GHC==8.0.2, GHC==8.2.2, GHC==8.4.4, GHC==8.6.3, GHC==8.8.1+tested-with: GHC==8.6.5, GHC==8.8.3, GHC==8.10.1 source-repository head type: git
src/Control/Algebra/Free2.hs view
@@ -131,7 +131,8 @@ -- It is the [unit](https://ncatlab.org/nlab/show/unit+of+an+adjunction) of -- adjuction defined by @'FreeAlgebra1'@ class. ---foldFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type)+foldFree2 :: forall k+ (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) a b . ( FreeAlgebra2 m@@ -151,7 +152,8 @@ -- prop> unFoldNatFree id = liftFree2 -- unFoldNatFree2- :: forall (m :: (k -> k -> Type) -> k -> k -> Type)+ :: forall k+ (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) d a b. ( FreeAlgebra2 m@@ -171,7 +173,8 @@ -- prop> hoistFree2 id = id -- prop> hoistFree2 f . hoistFree2 g = hoistFree2 (f . g) ---hoistFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type)+hoistFree2 :: forall k+ (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) g a b . ( FreeAlgebra2 m@@ -188,8 +191,8 @@ {-# RULES "hositFree2/foldNatFree2"- forall (nat :: forall (x :: k) (y :: k). g x y -> c x y)- (nat0 :: forall (x :: k) (y :: k). f x y -> g x y)+ forall (nat :: forall x y. g x y -> c x y)+ (nat0 :: forall x y. f x y -> g x y) (f :: m f a b). foldNatFree2 nat (hoistFree2 nat0 f) = foldNatFree2 (nat . nat0) f @@ -212,7 +215,7 @@ {-# RULES -"hoistFreeH2/foldNatFree2" forall (nat :: forall (x :: k) (y :: k). f x y -> c x y)+"hoistFreeH2/foldNatFree2" forall (nat :: forall x y. f x y -> c x y) (f :: AlgebraType m c => m f a b). foldNatFree2 nat (hoistFreeH2 f) = foldNatFree2 nat f #-}@@ -224,7 +227,8 @@ -- -- This property is analogous to @foldMap f . concat = foldMap (foldMap f)@, ---joinFree2 :: forall (m :: (k -> k -> Type) -> k -> k -> Type)+joinFree2 :: forall k+ (m :: (k -> k -> Type) -> k -> k -> Type) (f :: k -> k -> Type) a b . ( FreeAlgebra2 m