Optionally failing transformers for forms
 newtype Transformer m e a b = Transformer {
 unTransformer :: a > m (Either [e] b)
 transform :: Monad m => Form m i e v a > Transformer m e a b > Form m i e v b
 transformFormlet :: Monad m => (b > a) > Formlet m i e v a > Transformer m e a b > Formlet m i e v b
 transformEither :: Monad m => (a > Either e b) > Transformer m e a b
 transformEitherM :: Monad m => (a > m (Either e b)) > Transformer m e a b
 transformRead :: (Monad m, Read a) => e > Transformer m e String a
 required :: Monad m => e > Transformer m e (Maybe a) a
Documentation
newtype Transformer m e a b Source
A transformer that transforms a value of type a to a value of type b
Transformer  

Monad m => Arrow (Transformer m e)  
Monad m => Category (Transformer m e) 
transform :: Monad m => Form m i e v a > Transformer m e a b > Form m i e v bSource
Apply a transformer to a form
:: Monad m  
=> (b > a)  Needed to produce defaults 
> Formlet m i e v a  Formlet to transform 
> Transformer m e a b  Transformer 
> Formlet m i e v b  Resulting formlet 
Apply a transformer to a formlet
transformEither :: Monad m => (a > Either e b) > Transformer m e a bSource
Build a transformer from a simple function that returns an Either
result.
transformEitherM :: Monad m => (a > m (Either e b)) > Transformer m e a bSource
A monadic version of transformEither
:: (Monad m, Read a)  
=> e  Error given if read fails 
> Transformer m e String a  Resulting transformer 
Create a transformer for any value of type a that is an instance of Read