Module

Data.Profunctor.Split

Package
profunctor
Repository
purescript/purescript-profunctor

#Split Source

newtype Split :: (Type -> Type) -> Type -> Type -> Typenewtype Split f a b

Instances

#split Source

split :: forall f a b x. (a -> x) -> (x -> b) -> f x -> Split f a b

#unSplit Source

unSplit :: forall f a b r. (forall x. (a -> x) -> (x -> b) -> f x -> r) -> Split f a b -> r

#liftSplit Source

liftSplit :: forall f a. f a -> Split f a a

#lowerSplit Source

lowerSplit :: forall f a. Invariant f => Split f a a -> f a

#hoistSplit Source

hoistSplit :: forall f g a b. (f ~> g) -> Split f a b -> Split g a b