| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.ErrorOr
Description
Provides composable and hierarchical errors, with pretty
printing. The errors are accumulated in a tree like structure,
ErrorAcc. ErrorAcc is disigned to be read by humans, via
pretty, not dispatched on by code. Using toE to convert an
ErrorOr to IO throws (in case it holds an error) a PrettyErrAcc
that uses pretty in the show instance.
Synopsis
- newtype ErrorOr a = ErrorOr {}
- err :: Text -> ErrorOr a
- tag :: Text -> ErrorOr a -> ErrorOr a
- pattern Error :: ErrorAcc -> ErrorOr a
- pattern OK :: a -> ErrorOr a
- isOK :: ErrorOr a -> Bool
- isError :: ErrorOr a -> Bool
- fromOK :: ErrorOr a -> a
- class ErrorConv t s where
- toE :: t a -> s a
- data ErrorAcc
- pretty :: Int -> ErrorAcc -> Text
- newtype PrettyErrAcc = PrettyErrAcc {}
Documentation
Use 'Applicative'\'s sequenceA and sequenceA_ to compose ErrorOrs as opposed to Monad derived functions like sequence.
Constructors
| ErrorOr | |
Fields | |
Instances
| Monad ErrorOr Source # | OrError's instances for |
| Functor ErrorOr Source # | |
| MonadFail ErrorOr Source # | |
Defined in Data.ErrorOr | |
| Applicative ErrorOr Source # | |
| Foldable ErrorOr Source # | |
Defined in Data.ErrorOr Methods fold :: Monoid m => ErrorOr m -> m # foldMap :: Monoid m => (a -> m) -> ErrorOr a -> m # foldr :: (a -> b -> b) -> b -> ErrorOr a -> b # foldr' :: (a -> b -> b) -> b -> ErrorOr a -> b # foldl :: (b -> a -> b) -> b -> ErrorOr a -> b # foldl' :: (b -> a -> b) -> b -> ErrorOr a -> b # foldr1 :: (a -> a -> a) -> ErrorOr a -> a # foldl1 :: (a -> a -> a) -> ErrorOr a -> a # elem :: Eq a => a -> ErrorOr a -> Bool # maximum :: Ord a => ErrorOr a -> a # minimum :: Ord a => ErrorOr a -> a # | |
| Traversable ErrorOr Source # | |
| ErrorConv Maybe ErrorOr Source # | Convert from 'Maybe a' to 'ErrorOr a'. It converts |
| ErrorConv ErrorOr IO Source # | Convert from ErrorOr to IO. |
| Eq a => Eq (ErrorOr a) Source # | |
| Ord a => Ord (ErrorOr a) Source # | |
| Read a => Read (ErrorOr a) Source # | |
| Show a => Show (ErrorOr a) Source # | |
| Semigroup a => Semigroup (ErrorOr a) Source # | |
| (Semigroup (ErrorOr a), Monoid a) => Monoid (ErrorOr a) Source # | |
class ErrorConv t s where Source #
Convert between functors that hold error info.
newtype PrettyErrAcc Source #
A wrapper over ErrorAcc to provide human readable exceptions.
(Exception class' displayException does not seem to be used by GHC)
https://stackoverflow.com/questions/55490766/why-doesn-t-ghc-use-my-displayexception-method
Constructors
| PrettyErrAcc | |
Fields | |
Instances
| Show PrettyErrAcc Source # | |
Defined in Data.ErrorOr Methods showsPrec :: Int -> PrettyErrAcc -> ShowS # show :: PrettyErrAcc -> String # showList :: [PrettyErrAcc] -> ShowS # | |
| Exception PrettyErrAcc Source # | |
Defined in Data.ErrorOr Methods toException :: PrettyErrAcc -> SomeException # fromException :: SomeException -> Maybe PrettyErrAcc # displayException :: PrettyErrAcc -> String # | |