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 +1/−1
- src/Data/HeteroParList.hs +20/−0
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