| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Numeric.CollectErrors
Synopsis
- data NumError
- data ErrorCertaintyLevel
- data NumErrors
- type CN = CollectErrors NumErrors
- cn :: v -> CN v
- unCN :: CN p -> p
- (~!) :: Show es => CollectErrors es p -> p
- noValueNumErrorCertain :: NumError -> CN v
- noValueNumErrorPotential :: NumError -> CN v
- noValue :: es -> CollectErrors es v
- prependErrors :: Monoid es => es -> CollectErrors es v -> CollectErrors es v
- prependErrorCertain :: NumError -> CN t -> CN t
- prependErrorPotential :: NumError -> CN t -> CN t
- class CanTestErrorsCertain es where
- hasCertainError :: es -> Bool
- class CanTestErrorsPresent es where
- toEither :: CanBeErrors es => CollectErrors es v -> Either es v
- withErrorOrValue :: CanBeErrors es => (es -> t) -> (v -> t) -> CollectErrors es v -> t
- filterValuesWithoutError :: CanBeErrors es => [CollectErrors es v] -> [v]
- lift :: Monoid es => (a -> b) -> CollectErrors es a -> CollectErrors es b
- liftCN :: (a -> CN c) -> CN a -> CN c
- liftPair :: Monoid es => (a -> (c, d)) -> CollectErrors es a -> (CollectErrors es c, CollectErrors es d)
- lift2 :: Monoid es => (a -> b -> c) -> CollectErrors es a -> CollectErrors es b -> CollectErrors es c
- lift2CN :: (a -> b -> CN c) -> CN a -> CN b -> CN c
- lift1T :: Monoid es => (a -> b -> c) -> CollectErrors es a -> b -> CollectErrors es c
- liftT1 :: Monoid es => (a -> b -> c) -> a -> CollectErrors es b -> CollectErrors es c
- lift1TCN :: (a -> b -> CN c) -> CN a -> b -> CN c
- liftT1CN :: (a -> b -> CN c) -> a -> CN b -> CN c
- lift2pair :: Monoid es => (a -> b -> (c, d)) -> CollectErrors es a -> CollectErrors es b -> (CollectErrors es c, CollectErrors es d)
- lift1Tpair :: Monoid es => (a -> b -> (c, d)) -> CollectErrors es a -> b -> (CollectErrors es c, CollectErrors es d)
- liftT1pair :: Monoid es => (a -> b -> (c, d)) -> a -> CollectErrors es b -> (CollectErrors es c, CollectErrors es d)
Type of numeric errors
Constructors
| DivByZero | |
| OutOfDomain String | |
| NumError String |
Instances
| Eq NumError Source # | |
| Ord NumError Source # | |
Defined in Numeric.CollectErrors.Type | |
| Show NumError Source # | |
| CanTestErrorsCertain NumErrorLevel Source # | |
Defined in Numeric.CollectErrors.Type Methods hasCertainError :: NumErrorLevel -> Bool Source # | |
data ErrorCertaintyLevel Source #
Constructors
| ErrorCertain | |
| ErrorPotential |
Instances
Instances
| Eq NumErrors Source # | |
| Show NumErrors Source # | |
| Semigroup NumErrors Source # | |
| Monoid NumErrors Source # | |
| CanTestErrorsPresent NumErrors Source # | |
| CanTestErrorsCertain NumErrors Source # | |
Defined in Numeric.CollectErrors.Type Methods hasCertainError :: NumErrors -> Bool Source # | |
| (Floating v, Ord v, Show v) => Floating (CN v) Source # | |
| (Fractional v, Eq v) => Fractional (CN v) Source # | |
| (Integral v, Ord v, Show v) => Integral (CN v) Source # | |
type CN = CollectErrors NumErrors Source #
(~!) :: Show es => CollectErrors es p -> p Source #
Unsafe way to get a value out of the CollectErrors wrapper.
Utilities
noValueNumErrorCertain :: NumError -> CN v Source #
Construct an empty wrapper indicating that given error has certainly occurred.
noValueNumErrorPotential :: NumError -> CN v Source #
Construct an empty wrapper indicating that given error may have occurred.
Applicable general collect-error utilities
noValue :: es -> CollectErrors es v Source #
prependErrors :: Monoid es => es -> CollectErrors es v -> CollectErrors es v Source #
class CanTestErrorsCertain es where Source #
Methods
hasCertainError :: es -> Bool Source #
Instances
| CanTestErrorsCertain NumErrorLevel Source # | |
Defined in Numeric.CollectErrors.Type Methods hasCertainError :: NumErrorLevel -> Bool Source # | |
| CanTestErrorsCertain NumErrors Source # | |
Defined in Numeric.CollectErrors.Type Methods hasCertainError :: NumErrors -> Bool Source # | |
| CanTestErrorsCertain es => CanTestErrorsCertain [es] Source # | |
Defined in Control.CollectErrors.Type Methods hasCertainError :: [es] -> Bool Source # | |
| CanTestErrorsCertain es => CanTestErrorsCertain (Set es) Source # | |
Defined in Control.CollectErrors.Type Methods hasCertainError :: Set es -> Bool Source # | |
| CanTestErrorsCertain es => CanTestErrorsCertain (CollectErrors es v) Source # | |
Defined in Control.CollectErrors.Type Methods hasCertainError :: CollectErrors es v -> Bool Source # | |
class CanTestErrorsPresent es where Source #
Instances
| CanTestErrorsPresent NumErrors Source # | |
| CanTestErrorsPresent [es] Source # | |
Defined in Control.CollectErrors.Type | |
| CanTestErrorsPresent (Set es) Source # | |
| CanTestErrorsPresent es => CanTestErrorsPresent (CollectErrors es v) Source # | |
Defined in Control.CollectErrors.Type Methods hasError :: CollectErrors es v -> Bool Source # | |
toEither :: CanBeErrors es => CollectErrors es v -> Either es v Source #
A safe way to get a value out of the CollectErrors wrapper.
withErrorOrValue :: CanBeErrors es => (es -> t) -> (v -> t) -> CollectErrors es v -> t Source #
filterValuesWithoutError :: CanBeErrors es => [CollectErrors es v] -> [v] Source #
lift :: Monoid es => (a -> b) -> CollectErrors es a -> CollectErrors es b Source #
liftPair :: Monoid es => (a -> (c, d)) -> CollectErrors es a -> (CollectErrors es c, CollectErrors es d) Source #
lift2 :: Monoid es => (a -> b -> c) -> CollectErrors es a -> CollectErrors es b -> CollectErrors es c Source #
lift1T :: Monoid es => (a -> b -> c) -> CollectErrors es a -> b -> CollectErrors es c Source #
liftT1 :: Monoid es => (a -> b -> c) -> a -> CollectErrors es b -> CollectErrors es c Source #
lift2pair :: Monoid es => (a -> b -> (c, d)) -> CollectErrors es a -> CollectErrors es b -> (CollectErrors es c, CollectErrors es d) Source #
lift1Tpair :: Monoid es => (a -> b -> (c, d)) -> CollectErrors es a -> b -> (CollectErrors es c, CollectErrors es d) Source #
liftT1pair :: Monoid es => (a -> b -> (c, d)) -> a -> CollectErrors es b -> (CollectErrors es c, CollectErrors es d) Source #