profunctor-monad-0.1.0.0: Monadic bidirectional programming

Safe HaskellSafe
LanguageHaskell2010

Profunctor.Monad.Lifts

Synopsis

Documentation

class Cofunctor p => Lifts p where Source #

lmap i (lifts p j)
=
lifts (lmap i p) (i >>> j)
lifts p i <*> lifts q j
=
lifts (p <*> q) (i &&& j >>> uncurry ($))

Methods

lifts :: p x a -> First p x a -> p x a Source #

liftsArr :: (Lifts p, Arrow (First p)) => p x a -> (x -> a) -> p x a Source #

liftsId :: Lifts p => p a a -> p a a Source #