composition-extra 1.0.2 → 1.1.0
raw patch · 5 files changed
+60/−1 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- composition-extra.cabal +1/−1
- src/Data/Function/Apply.hs +8/−0
- src/Data/Function/Flip.hs +11/−0
- src/Data/Function/Slip.hs +17/−0
- src/Data/Function/Twist.hs +23/−0
composition-extra.cabal view
@@ -1,5 +1,5 @@ name: composition-extra-version: 1.0.2+version: 1.1.0 synopsis: Combinators for unorthodox structure composition license: BSD3
src/Data/Function/Apply.hs view
@@ -5,8 +5,16 @@ (-$) = flip +infixl 8 -$+ (--$) = (<<~>) +infixl 8 --$+ (---$) = (<<~~>) +infixl 8 ---$+ (----$) = (<<~~~>)++infixl 8 ----$
src/Data/Function/Flip.hs view
@@ -4,17 +4,28 @@ (<->) :: (a -> b -> c) -> b -> a -> c (<->) = flip +infixl 8 <->++ flip3 :: (a -> b -> c -> d) -> c -> b -> a -> d flip3 f c b a = f a b c (<-->) = flip3 +infixl 8 <-->++ flip4 :: (a -> b -> c -> d -> e) -> d -> b -> c -> a -> e flip4 f d b c a = f a b c d (<--->) = flip4 +infixl 8 <--->++ flip5 :: (a -> b -> c -> d -> e -> f) -> e -> b -> c -> d -> a -> f flip5 f e b c d a = f a b c d e (<---->) = flip5++infixl 8 <---->
src/Data/Function/Slip.hs view
@@ -8,27 +8,44 @@ (<~>>) = slipr +infixl 8 <~>>++ slipl :: (a -> b -> c -> d) -> c -> a -> b -> d slipl f c a b = f a b c (<<~>) = slipl +infixl 8 <<~>++ slipr4 :: (a -> b -> c -> d -> e) -> b -> c -> d -> a -> e slipr4 f b c d a = f a b c d (<~~>>) = slipr4 +infixl 8 <~~>>++ slipl4 :: (a -> b -> c -> d -> e) -> d -> a -> b -> c -> e slipl4 f d a b c = f a b c d (<<~~>) = slipl4 +infixl 8 <<~~>++ slipr5 :: (a -> b -> c -> d -> e -> f) -> b -> c -> d -> e -> a -> f slipr5 f b c d e a = f a b c d e (<~~~>>) = slipr5 +infixl 8 <~~~>>++ slipl5 :: (a -> b -> c -> d -> e -> f) -> e -> a -> b -> c -> d -> f slipl5 f e a b c d = f a b c d e (<<~~~>) = slipl5++infixl 8 <<~~~>
src/Data/Function/Twist.hs view
@@ -6,37 +6,60 @@ (<<~~>>) = twist +infixl 8 <<~~>>++ twist5r :: (a -> b -> c -> d -> e -> f) -> c -> d -> e -> a -> b -> f twist5r fun c d e a b = fun a b c d e (<<~~>>>) = twist5r +infixl 8 <<~~>>>++ twist5l :: (a -> b -> c -> d -> e -> f) -> d -> e -> a -> b -> c -> f twist5l fun d e a b c = fun a b c d e (<<<~~>>) = twist5l +infixl 8 <<<~~>>++ twist5 :: (a -> b -> c -> d -> e -> f) -> d -> e -> c -> a -> b -> f twist5 fun d e c a b = fun a b c d e (<<<~~>>>) = twist5 +infixl 8 <<<~~>>>++ twist6 :: (a -> b -> c -> d -> e -> f -> g) -> d -> e -> f -> a -> b -> c -> g twist6 fun d e f a b c = fun a b c d e f (<<~~~>>) = twist6 +infixl 8 <<~~~>>++ twist7r :: (a -> b -> c -> d -> e -> f -> g -> h) -> d -> e -> f -> g -> a -> b -> c -> h twist7r fun d e f g a b c = fun a b c d e f g (<<~~~>>>) = twist7r +infixl 8 <<~~~>>>++ twist7l :: (a -> b -> c -> d -> e -> f -> g -> h) -> e -> f -> g -> a -> b -> c -> d -> h twist7l fun e f g a b c d = fun a b c d e f g (<<<~~~>>) = twist7l +infixl 8 <<<~~~>>++ twist7 :: (a -> b -> c -> d -> e -> f -> g -> h) -> e -> f -> g -> d -> a -> b -> c -> h twist7 fun e f g d a b c = fun a b c d e f g (<<<~~~>>>) = twist7++infixl 8 <<<~~~>>>