numeric-prelude-0.3: An experimental alternative hierarchy of numeric type classes

Portabilitymulti-type parameter classes (vector space)
Stabilityprovisional
Maintainernumericprelude@henning-thielemann.de

Number.OccasionallyScalarExpression

Description

Physical expressions track the operations made on physical values so we are able to give detailed information on how to resolve unit violations.

Synopsis

Documentation

data T a v Source

A value of type T stores information on how to resolve unit violations. The main application of the module are certainly Number.Physical type instances but in principle it can also be applied to other occasionally scalar types.

Constructors

Cons (Term a v) v 

Instances

(C a v, Show v) => C a (T a v) 
Eq v => Eq (T a v) 
Ord v => Ord (T a v) 
Show v => Show (T a v) 
C v => C (T a v) 
C v => C (T a v) 
C v => C (T a v) 
C v => C (T a v) 
C v => C (T a v) 
(C a, C v, Show v, C a v) => C (T a v) 
(C a, C v, Show v, C a v) => C (T a v) 

data Term a v Source

Constructors

Const 
Add (T a v) (T a v) 
Mul (T a v) (T a v) 
Div (T a v) (T a v) 

fromValue :: v -> T a vSource

showUnitError :: Show v => Bool -> Int -> v -> T a v -> StringSource

lift :: (v -> v) -> T a v -> T a vSource

fromScalar :: (Show v, C a v) => a -> T a vSource

scalarMap :: (Show v, C a v) => (a -> a) -> T a v -> T a vSource

scalarMap2 :: (Show v, C a v) => (a -> a -> a) -> T a v -> T a v -> T a vSource