collect-errors-0.1.0.0: Error monad with a Float instance
Safe HaskellNone
LanguageHaskell2010

Numeric.CollectErrors

Synopsis

Type of numeric errors

data NumErrors Source #

Instances

Instances details
Eq NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

Show NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

Semigroup NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

Monoid NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

CanTestErrorsPresent NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

CanTestErrorsCertain NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

(Floating v, Ord v, Show v) => Floating (CN v) Source # 
Instance details

Defined in Numeric.CollectErrors.PreludeInstances

Methods

pi :: CN v #

exp :: CN v -> CN v #

log :: CN v -> CN v #

sqrt :: CN v -> CN v #

(**) :: CN v -> CN v -> CN v #

logBase :: CN v -> CN v -> CN v #

sin :: CN v -> CN v #

cos :: CN v -> CN v #

tan :: CN v -> CN v #

asin :: CN v -> CN v #

acos :: CN v -> CN v #

atan :: CN v -> CN v #

sinh :: CN v -> CN v #

cosh :: CN v -> CN v #

tanh :: CN v -> CN v #

asinh :: CN v -> CN v #

acosh :: CN v -> CN v #

atanh :: CN v -> CN v #

log1p :: CN v -> CN v #

expm1 :: CN v -> CN v #

log1pexp :: CN v -> CN v #

log1mexp :: CN v -> CN v #

(Fractional v, Eq v) => Fractional (CN v) Source # 
Instance details

Defined in Numeric.CollectErrors.PreludeInstances

Methods

(/) :: CN v -> CN v -> CN v #

recip :: CN v -> CN v #

fromRational :: Rational -> CN v #

(Integral v, Ord v, Show v) => Integral (CN v) Source # 
Instance details

Defined in Numeric.CollectErrors.PreludeInstances

Methods

quot :: CN v -> CN v -> CN v #

rem :: CN v -> CN v -> CN v #

div :: CN v -> CN v -> CN v #

mod :: CN v -> CN v -> CN v #

quotRem :: CN v -> CN v -> (CN v, CN v) #

divMod :: CN v -> CN v -> (CN v, CN v) #

toInteger :: CN v -> Integer #

cn :: v -> CN v Source #

unCN :: CN p -> p 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

class CanTestErrorsPresent es where Source #

Methods

hasError :: es -> Bool Source #

Instances

Instances details
CanTestErrorsPresent NumErrors Source # 
Instance details

Defined in Numeric.CollectErrors.Type

CanTestErrorsPresent [es] Source # 
Instance details

Defined in Control.CollectErrors.Type

Methods

hasError :: [es] -> Bool Source #

CanTestErrorsPresent (Set es) Source # 
Instance details

Defined in Control.CollectErrors.Type

Methods

hasError :: Set es -> Bool Source #

CanTestErrorsPresent es => CanTestErrorsPresent (CollectErrors es v) Source # 
Instance details

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 #

lift :: Monoid es => (a -> b) -> CollectErrors es a -> CollectErrors es b Source #

liftCN :: (a -> CN c) -> CN a -> CN c 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 #

lift2CN :: (a -> b -> CN c) -> CN a -> CN b -> CN 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 #

lift1TCN :: (a -> b -> CN c) -> CN a -> b -> CN c Source #

liftT1CN :: (a -> b -> CN c) -> a -> CN b -> CN 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 #