Module

Polyform.Dual

Package
purescript-polyform
Repository
paluh/purescript-polyform

#DualD Source

data DualD p i o o'

D from diverging as o' can be different from o. They "join" in Dual type which wraps DualD a few lines below.

Constructors

Instances

#Dual Source

newtype Dual p i o

Dual turns DualD into Invariant (it differs from Join).

Constructors

Instances

#dual Source

dual :: forall p o i. (p i o) -> (o -> i) -> Dual p i o

#parser Source

parser :: forall p o i. Dual p i o -> p i o

#serializer Source

serializer :: forall p o i. Dual p i o -> (o -> i)

#hoist Source

hoist :: forall q p o i. ((p i) ~> (q i)) -> Dual p i o -> Dual q i o

#(~) Source

Operator alias for Polyform.Dual.diverge (left-associative / precedence 5)

#diverge Source

diverge :: forall p o' o i. Functor (p i) => Profunctor p => (o' -> o) -> Dual p i o -> DualD p i o' o