Copyright | (c) 2014 Chris Allen Edward Kmett |
---|---|
License | BSD-style |
Maintainer | ekmett@gmail.com |
Stability | provisional |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Either.Validation
Description
Monoidal Validation
sibling to Either
.
Synopsis
- data Validation e a
- _Success :: forall c a b p f. (Choice p, Applicative f) => p a (f b) -> p (Validation c a) (f (Validation c b))
- _Failure :: forall a c b p f. (Choice p, Applicative f) => p a (f b) -> p (Validation a c) (f (Validation b c))
- eitherToValidation :: Either e a -> Validation e a
- validationToEither :: Validation e a -> Either e a
- _Validation :: forall e a g b p f. (Profunctor p, Functor f) => p (Either e a) (f (Either g b)) -> p (Validation e a) (f (Validation g b))
- vap :: Semigroup m => Either m (a -> b) -> Either m a -> Either m b
- ealt :: Validation e a -> Validation e a -> Validation e a
- vapm :: Monoid m => Either m (a -> b) -> Either m a -> Either m b
- apm :: Monoid m => Validation m (a -> b) -> Validation m a -> Validation m b
Documentation
data Validation e a Source #
Validation
is Either
with a Left that is a Monoid
Instances
_Success :: forall c a b p f. (Choice p, Applicative f) => p a (f b) -> p (Validation c a) (f (Validation c b)) Source #
_Failure :: forall a c b p f. (Choice p, Applicative f) => p a (f b) -> p (Validation a c) (f (Validation b c)) Source #
eitherToValidation :: Either e a -> Validation e a Source #
validationToEither :: Validation e a -> Either e a Source #
_Validation :: forall e a g b p f. (Profunctor p, Functor f) => p (Either e a) (f (Either g b)) -> p (Validation e a) (f (Validation g b)) Source #
Validation
is isomorphic to Either
ealt :: Validation e a -> Validation e a -> Validation e a Source #
apm :: Monoid m => Validation m (a -> b) -> Validation m a -> Validation m b Source #