Validation toolkit plus alternative codec type formulation.
Sorry for this sparse docs. I hope to extend them soon. Till then it is just better to take a look at the real world examples (json duals etc.) in the
It provides an
Applicative instance which allow composition in the
Reader spirit - all
Validators "work" on the same input. It is accumulative because it is build on top of
There is also a
Category instance which allows you to build validation chains combining this applicative steps.
newtype Validator m e i o = Validator (Star (Compose m (V e)) i o)
This type is nearly
Star (Except e m) but there is no
Semigroup e constraint in its
Alt instance (consistent with
newtype Exceptor m e i o = Exceptor (Star (ExceptT e m) i o)
Additionally it provides basic types for bidirectional validation and serialization through
data DualD p i o o' = DualD (p i o') (o → i) newtype Dual p i o = Dual (DualD p i o o)
polyform initialy was intended to provide some basic mechanism for html form validation. It was polyomrphic on the form type hence the name. After the last rewrite this name has probably no sens any more, but you now - "naming is the..."