-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A data-type like Either but with an accumulating Applicative -- -- -- A data-type like Either but with differing properties and type-class -- instances. -- -- Library support is provided for this different representation, include -- lens-related functions for converting between each and -- abstracting over their similarities. -- --
-- >>> _Success # (+1) <*> _Success # 7 :: AccValidation String Int -- AccSuccess 8 ---- --
-- >>> _Failure # ["f1"] <*> _Success # 7 :: AccValidation [String] Int -- AccFailure ["f1"] ---- --
-- >>> _Success # (+1) <*> _Failure # ["f2"] :: AccValidation [String] Int -- AccFailure ["f2"] ---- --
-- >>> _Failure # ["f1"] <*> _Failure # ["f2"] :: AccValidation [String] Int -- AccFailure ["f1","f2"] --data AccValidation err a AccFailure :: err -> AccValidation err a AccSuccess :: a -> AccValidation err a _Failure :: Validate f => Prism (f e1 a) (f e2 a) e1 e2 _Success :: Validate f => Prism (f e a) (f e b) a b class Validate f where _Either = _EitherV _AccValidation :: Validate f => Iso (f e a) (f g b) (AccValidation e a) (AccValidation g b) _Either :: Validate f => Iso (f e a) (f g b) (Either e a) (Either g b) instance (Data.Data.Data a, Data.Data.Data err) => Data.Data.Data (Data.Validation.AccValidation err a) instance (GHC.Show.Show a, GHC.Show.Show err) => GHC.Show.Show (Data.Validation.AccValidation err a) instance (GHC.Classes.Ord a, GHC.Classes.Ord err) => GHC.Classes.Ord (Data.Validation.AccValidation err a) instance (GHC.Classes.Eq a, GHC.Classes.Eq err) => GHC.Classes.Eq (Data.Validation.AccValidation err a) instance GHC.Base.Functor (Data.Validation.AccValidation err) instance Data.Semigroup.Semigroup err => Data.Functor.Bind.Class.Apply (Data.Validation.AccValidation err) instance Data.Semigroup.Semigroup err => GHC.Base.Applicative (Data.Validation.AccValidation err) instance Data.Functor.Alt.Alt (Data.Validation.AccValidation err) instance Data.Foldable.Foldable (Data.Validation.AccValidation err) instance Data.Traversable.Traversable (Data.Validation.AccValidation err) instance Data.Bifunctor.Bifunctor Data.Validation.AccValidation instance Data.Bifoldable.Bifoldable Data.Validation.AccValidation instance Data.Bitraversable.Bitraversable Data.Validation.AccValidation instance Data.Semigroup.Semigroup e => Data.Semigroup.Semigroup (Data.Validation.AccValidation e a) instance GHC.Base.Monoid e => GHC.Base.Monoid (Data.Validation.AccValidation e a) instance Data.Validation.Validate Data.Validation.AccValidation instance Data.Validation.Validate Data.Either.Either instance Control.Lens.Iso.Swapped Data.Validation.AccValidation