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
 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
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
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