bifunctors-0.1.3.1: Haskell 98 bifunctors

Portabilityportable
Stabilityprovisional
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellSafe-Infered

Data.Bifunctor.Apply

Contents

Description

 

Synopsis

Functors

Applyable bifunctors

class Bifunctor p => Biapply p whereSource

A strong lax semi-monoidal endofunctor. This is equivalent to an Applicative without pure.

Laws:

 associative composition: (.) <$> u <.> v <.> w = u <.> (v <.> w)

Methods

(<<.>>) :: p (a -> b) (c -> d) -> p a c -> p b dSource

(.>>) :: p a b -> p c d -> p c dSource

a .> b = const id $ a . b

(<<.) :: p a b -> p c d -> p a bSource

Instances

(<<$>>) :: (a -> b) -> a -> bSource

(<<..>>) :: Biapply p => p a c -> p (a -> b) (c -> d) -> p b dSource

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

Lift a binary function into a comonad with zipping

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

Lift a ternary function into a comonad with zipping