packages feed

hetero-parameter-list 0.1.0.19 → 0.1.0.20

raw patch · 2 files changed

+21/−1 lines, 2 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Data.HeteroParList: class ToListWithCCpsM'' c (ns :: [k])
+ Data.HeteroParList: instance forall a (c :: a -> GHC.Types.Constraint) (n :: a) (ns :: [a]). (c n, Data.HeteroParList.ToListWithCCpsM'' c ns) => Data.HeteroParList.ToListWithCCpsM'' c (n : ns)
+ Data.HeteroParList: instance forall k (c :: k -> GHC.Types.Constraint). Data.HeteroParList.ToListWithCCpsM'' c '[]
+ Data.HeteroParList: toListWithCCpsM'' :: ToListWithCCpsM'' c ns => (forall (s :: k). c s => t s -> (a -> m b) -> m b) -> PL t ns -> ([a] -> m b) -> m b
+ Data.HeteroParList: withListWithCCpsM'' :: forall {k} c ns t m a b. ToListWithCCpsM'' c ns => PL t ns -> (forall (s :: k). c s => t s -> (a -> m b) -> m b) -> ([a] -> m b) -> m b

Files

hetero-parameter-list.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           hetero-parameter-list-version:        0.1.0.19+version:        0.1.0.20 synopsis:       hetero list with parameter list description:    Please see the README on GitHub at <https://github.com/YoshikuniJujo/hetero-parameter-list#readme> category:       Data
src/Data/HeteroParList.hs view
@@ -56,6 +56,7 @@  	ToListWithCM(..), ToListWithCM'(..), 	ToListWithCCpsM(..), ToListWithCCpsM'(..), withListWithCCpsM',+	ToListWithCCpsM''(..), withListWithCCpsM'',  	-- ** Homo List @@ -561,3 +562,22 @@ 	(forall (s :: k) . c (t' s) => t s -> (a -> m b) -> m b) -> 	([a] -> m b) -> m b withListWithCCpsM' xs f = toListWithCCpsM' @_ @_ @c @t' f xs++class ToListWithCCpsM'' c (ns :: [k]) where+	toListWithCCpsM'' ::+		(forall (s :: k) . c s => t s -> (a -> m b) -> m b) ->+		PL t ns -> ([a] -> m b) -> m b++instance ToListWithCCpsM'' c '[] where toListWithCCpsM'' _ Nil = ($ [])++instance (c n, ToListWithCCpsM'' c ns) =>+	ToListWithCCpsM'' c (n ': ns) where+	toListWithCCpsM'' f (x :** xs) g =+		f x \y -> toListWithCCpsM'' @_ @c f xs \ys -> g $ y : ys++withListWithCCpsM'' :: forall {k} c ns t m a b .+	ToListWithCCpsM'' c ns =>+	PL t ns ->+	(forall (s :: k) . c s => t s -> (a -> m b) -> m b) ->+	([a] -> m b) -> m b+withListWithCCpsM'' xs f = toListWithCCpsM'' @_ @c f xs