concatenative 1.0.0 → 1.0.1
raw patch · 2 files changed
+20/−3 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Control.Concatenative: (&&&) :: (Arrow a) => forall b c c'. a b c -> a b c' -> a b (c, c')
- Control.Concatenative: (***) :: (Arrow a) => forall b c b' c'. a b c -> a b' c' -> a (b, b') (c, c')
- Control.Concatenative: (>>>) :: (Category cat) => cat a b -> cat b c -> cat a c
+ Control.Concatenative: (&&.) :: Arrow a => a b c -> a b c' -> a b (c, c')
+ Control.Concatenative: (**.) :: Arrow a => a b c -> a b' c' -> a (b, b') (c, c')
+ Control.Concatenative: (>>.) :: Arrow a => a b c -> a c d -> a b d
- Control.Concatenative: (>>@) :: (Arrow a) => a b (x, y) -> (x -> y -> z) -> a b z
+ Control.Concatenative: (>>@) :: Arrow a => a b (x, y) -> (x -> y -> z) -> a b z
- Control.Concatenative: apM_ :: (Monad m) => Int -> m a -> m ()
+ Control.Concatenative: apM_ :: Monad m => Int -> m a -> m ()
- Control.Concatenative: biApM :: (Monad m) => (t -> m t1) -> (t1 -> t1 -> m t2) -> t -> t -> m t2
+ Control.Concatenative: biApM :: Monad m => (t -> m t1) -> (t1 -> t1 -> m t2) -> t -> t -> m t2
- Control.Concatenative: biApM_ :: (Monad m) => (t -> m t1) -> t -> t -> m ()
+ Control.Concatenative: biApM_ :: Monad m => (t -> m t1) -> t -> t -> m ()
- Control.Concatenative: biM :: (Monad m) => (a -> m b) -> (a -> m c) -> (b -> c -> m d) -> a -> m d
+ Control.Concatenative: biM :: Monad m => (a -> m b) -> (a -> m c) -> (b -> c -> m d) -> a -> m d
- Control.Concatenative: biM_ :: (Monad m) => (a -> m b) -> (a -> m c) -> a -> m ()
+ Control.Concatenative: biM_ :: Monad m => (a -> m b) -> (a -> m c) -> a -> m ()
- Control.Concatenative: biSpM :: (Monad m) => (a -> m c) -> (b -> m d) -> (c -> d -> m e) -> a -> b -> m e
+ Control.Concatenative: biSpM :: Monad m => (a -> m c) -> (b -> m d) -> (c -> d -> m e) -> a -> b -> m e
- Control.Concatenative: both :: (Arrow a) => a b c -> a (b, b) (c, c)
+ Control.Concatenative: both :: Arrow a => a b c -> a (b, b) (c, c)
- Control.Concatenative: catM :: (Monad m) => (a -> m b) -> Concatenative a b (m c) (m c)
+ Control.Concatenative: catM :: Monad m => (a -> m b) -> Concatenative a b (m c) (m c)
- Control.Concatenative: cl :: (Monad m) => (a -> m b) -> (a -> m e) -> Concatenative a b (e -> m d) (m d)
+ Control.Concatenative: cl :: Monad m => (a -> m b) -> (a -> m e) -> Concatenative a b (e -> m d) (m d)
- Control.Concatenative: clM :: (Monad m) => Concatenative a b c (m d) -> (a -> m e) -> Concatenative a b (e -> c) (m d)
+ Control.Concatenative: clM :: Monad m => Concatenative a b c (m d) -> (a -> m e) -> Concatenative a b (e -> c) (m d)
- Control.Concatenative: dup :: (Arrow a) => a b (b, b)
+ Control.Concatenative: dup :: Arrow a => a b (b, b)
- Control.Concatenative: first :: (Arrow a) => forall b c d. a b c -> a (b, d) (c, d)
+ Control.Concatenative: first :: Arrow a => forall b c d. a b c -> a (b, d) (c, d)
- Control.Concatenative: second :: (Arrow a) => forall b c d. a b c -> a (d, b) (d, c)
+ Control.Concatenative: second :: Arrow a => forall b c d. a b c -> a (d, b) (d, c)
- Control.Concatenative: sp :: (Monad m) => (a -> m b) -> (e -> m f) -> Concatenative e b (f -> m d) (a -> m d)
+ Control.Concatenative: sp :: Monad m => (a -> m b) -> (e -> m f) -> Concatenative e b (f -> m d) (a -> m d)
- Control.Concatenative: spM :: (Monad m) => Concatenative a b c (m d) -> (e -> m f) -> Concatenative e b (f -> c) (a -> m d)
+ Control.Concatenative: spM :: Monad m => Concatenative a b c (m d) -> (e -> m f) -> Concatenative e b (f -> c) (a -> m d)
- Control.Concatenative: swap :: (Arrow a) => a (x, y) (y, x)
+ Control.Concatenative: swap :: Arrow a => a (x, y) (y, x)
- Control.Concatenative: triApM :: (Monad m) => (a -> m b) -> (b -> b -> b -> m c) -> a -> a -> a -> m c
+ Control.Concatenative: triApM :: Monad m => (a -> m b) -> (b -> b -> b -> m c) -> a -> a -> a -> m c
- Control.Concatenative: triApM_ :: (Monad m) => (a -> m b) -> a -> a -> a -> m ()
+ Control.Concatenative: triApM_ :: Monad m => (a -> m b) -> a -> a -> a -> m ()
- Control.Concatenative: triM :: (Monad m) => (a -> m b) -> (a -> m c) -> (a -> m d) -> (b -> c -> d -> m e) -> a -> m e
+ Control.Concatenative: triM :: Monad m => (a -> m b) -> (a -> m c) -> (a -> m d) -> (b -> c -> d -> m e) -> a -> m e
- Control.Concatenative: triM_ :: (Monad m) => (a -> m b) -> (a -> m c) -> (a -> m d) -> a -> m ()
+ Control.Concatenative: triM_ :: Monad m => (a -> m b) -> (a -> m c) -> (a -> m d) -> a -> m ()
- Control.Concatenative: triSpM :: (Monad m) => (a -> m d) -> (b -> m e) -> (c -> m f) -> (d -> e -> f -> m g) -> a -> b -> c -> m g
+ Control.Concatenative: triSpM :: Monad m => (a -> m d) -> (b -> m e) -> (c -> m f) -> (d -> e -> f -> m g) -> a -> b -> c -> m g
Files
- Control/Concatenative.hs +19/−2
- concatenative.cabal +1/−1
Control/Concatenative.hs view
@@ -23,11 +23,11 @@ -- * Postfix arrows - -- | The arrow functions '&&&' and '***' are equivalent to 'bi' and 'biSp'.+ -- | The arrow functions '&&.' and '**.' are equivalent to 'bi' and 'biSp'. -- Combining here must be done seperately, through the '>>@' function. (>>@), dup, swap, both,- (>>>), (&&&), (***), first, second,+ (>>.), (&&.), (**.), first, second, -- * Generalized Datatypes @@ -161,6 +161,23 @@ triApM_ f x y z = f x >> f y >> f z >> return () -- Arrow Interface++infixl 3 >>@+infixl 3 &&.+infixl 3 **.+infixl 4 >>.++-- |Left associative version of '&&&'+(&&.) :: Arrow a => a b c -> a b c' -> a b (c, c')+(&&.) = (&&&)++-- |Left associative version of '***'+(**.) :: Arrow a => a b c -> a b' c' -> a (b,b') (c,c')+(**.) = (***)++-- |Left associative version of '>>>'+(>>.) :: Arrow a => a b c -> a c d -> a b d+(>>.) = (>>>) -- | Combine with a binary function (>>@) :: Arrow a => a b (x,y) -> (x -> y -> z) -> a b z
concatenative.cabal view
@@ -1,5 +1,5 @@ name: concatenative-version: 1.0.0+version: 1.0.1 synopsis: A library for postfix control flow. description: Concatenative gives haskell factor style combinators and arrows for postfix notation.