flow-er-1.0.3: More directional operators

Control.Flower.Applicative.Strict

Description

Synopsis

• lift2' :: Monad m => (a -> b -> c) -> m a -> m b -> m c
• (<!$*) :: Monad m => (a -> b -> c) -> m a -> m b -> m c • (*$!>) :: Monad m => m a -> (a -> b -> c) -> m b -> m c
• (<!$**) :: Monad m => (a -> b -> c -> d) -> m a -> m b -> m c -> m d • (**$!>) :: Monad m => m a -> (a -> b -> c -> d) -> m b -> m c -> m d

# Documentation

lift2' :: Monad m => (a -> b -> c) -> m a -> m b -> m c Source #

An alias for lift2, updating with unified "lift" naming

>>> lift2' (+) (Just 4) (Just 1)
Just 5


(<!$*) :: Monad m => (a -> b -> c) -> m a -> m b -> m c infixr 4 Source # Right-associative, left-flowing lift2' operator >>> (+) <!$* Just 4 |< Just 1
Just 5


(*$!>) :: Monad m => m a -> (a -> b -> c) -> m b -> m c infixl 4 Source # Left-associative, right-flowing lift2' operator >>> Just 1 >| Just 4 *$!> (+)
Just 5


(<!$**) :: Monad m => (a -> b -> c -> d) -> m a -> m b -> m c -> m d infixr 4 Source # Right-associative, left-flowing lift3' operator >>> (\x y z -> x * y * z) <!$** Just 4 |< Just 3 |< Just 2
Just 24


(**$!>) :: Monad m => m a -> (a -> b -> c -> d) -> m b -> m c -> m d infixl 4 Source # Left-associative, right-flowing lift3' operator >>> Just 2 >| Just 3 >| Just 4 **$!> \x y z -> x * y * z
Just 24