Safe Haskell | None |
---|---|
Language | Haskell2010 |
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
Instances
Eq NumError Source # | |
Ord NumError Source # | |
Defined in Numeric.CollectErrors.Type | |
Show NumError Source # | |
CanTestErrorsCertain NumErrorLevel Source # | |
Defined in Numeric.CollectErrors.Type hasCertainError :: NumErrorLevel -> Bool Source # |
data ErrorCertaintyLevel Source #
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 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 #
hasCertainError :: es -> Bool Source #
Instances
CanTestErrorsCertain NumErrorLevel Source # | |
Defined in Numeric.CollectErrors.Type hasCertainError :: NumErrorLevel -> Bool Source # | |
CanTestErrorsCertain NumErrors Source # | |
Defined in Numeric.CollectErrors.Type hasCertainError :: NumErrors -> Bool Source # | |
CanTestErrorsCertain es => CanTestErrorsCertain [es] Source # | |
Defined in Control.CollectErrors.Type hasCertainError :: [es] -> Bool Source # | |
CanTestErrorsCertain es => CanTestErrorsCertain (Set es) Source # | |
Defined in Control.CollectErrors.Type hasCertainError :: Set es -> Bool Source # | |
CanTestErrorsCertain es => CanTestErrorsCertain (CollectErrors es v) Source # | |
Defined in Control.CollectErrors.Type 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 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 #