Operator alias for Control.Category.identity (left-associative / precedence 4)

A convenience operator which can be used to apply the result of bipure in the style of Applicative:

bipure f g <<$>> x <<*>> y


class Biapply :: (Type -> Type -> Type) -> Constraintclass (Bifunctor w) <= Biapply w  where

Biapply captures type constructors of two arguments which support lifting of functions of one or more arguments, in the sense of Apply.


  • biapply :: forall a b c d. w (a -> b) (c -> d) -> w a c -> w b d



Operator alias for Control.Biapply.biapply (left-associative / precedence 4)


biapplyFirst :: forall w a b c d. Biapply w => w a b -> w c d -> w c d

Keep the results of the second computation.


Operator alias for Control.Biapply.biapplyFirst (left-associative / precedence 4)


biapplySecond :: forall w a b c d. Biapply w => w a b -> w c d -> w a b

Keep the results of the first computation.


Operator alias for Control.Biapply.biapplySecond (left-associative / precedence 4)


bilift2 :: forall w a b c d e f. Biapply w => (a -> b -> c) -> (d -> e -> f) -> w a d -> w b e -> w c f

Lift a function of two arguments.


bilift3 :: forall w a b c d e f g h. Biapply w => (a -> b -> c -> d) -> (e -> f -> g -> h) -> w a e -> w b f -> w c g -> w d h

Lift a function of three arguments.