-- | This module defines the 'ValidateT' monad transformer and 'MonadValidate' typeclass. As the -- names imply, they are intended to be used to write data validators, but they are general enough -- that you may find other uses for them, too. For an overview of this library’s functionality, see -- the documentation for 'ValidateT'. module Control.Monad.Validate ( -- * The @ValidateT@ monad transformer ValidateT , runValidateT , execValidateT , embedValidateT , mapErrors -- * The @MonadValidate@ class , MonadValidate(..) -- * Converting between monads , exceptToValidate , exceptToValidateWith , validateToError , validateToErrorWith -- * The @Validate@ monad , Validate , runValidate , execValidate ) where import Control.Monad.Validate.Class import Control.Monad.Validate.Internal