Module

Polyform.Duals.Validator

Package
purescript-polyform
Repository
paluh/purescript-polyform

#Dual Source

type Dual m e i o = Dual (Validator m e) i o

#DualD Source

type DualD m e i o' o = DualD (Validator m e) i o o'

#runValidator Source

runValidator :: forall m o i e. Monad m => Dual (Validator m e) i o -> (i -> m (V e o))

#runSerializer Source

runSerializer :: forall m o i e. Applicative m => Dual (Validator m e) i o -> (o -> i)

Dirty hack to simplify type inference for polymorphic duals

#runSerializerM Source

runSerializerM :: forall m o i e. Applicative m => Dual (Validator m e) i o -> (o -> m i)

#newtypeDual Source

newtypeDual :: forall n m e a. Monad m => Semigroup e => Newtype n a => Dual m e a n

#hoist Source

hoist :: forall m' m o i e. Functor m => (m ~> m') -> Dual m e i o -> Dual m' e i o

#Par Source

newtype Par m r a b

Constructors

#lmapDual Source

lmapDual :: forall o m i e' e. Monad m => (e -> e') -> Dual m e i o -> Dual m e' i o