 | numeric-prelude-0.0.2: An experimental alternative hierarchy of numeric type classes | Contents | Index |
|
| Number.DimensionTerm | | Portability | portable | | Stability | provisional | | Maintainer | numericprelude@henning-thielemann.de |
|
|
|
|
|
| Description |
| See Algebra.DimensionTerm.
|
|
| Synopsis |
|
| newtype T u a = Cons a | | | fromNumber :: a -> Scalar a | | | toNumber :: Scalar a -> a | | | fromNumberWithDimension :: C u => u -> a -> T u a | | | toNumberWithDimension :: C u => u -> T u a -> a | | | mapFst :: (a -> c) -> (a, b) -> (c, b) | | | (&*&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u v) a | | | (&/&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u (Recip v)) a | | | mulToScalar :: (C u, C a) => T u a -> T (Recip u) a -> a | | | divToScalar :: (C u, C a) => T u a -> T u a -> a | | | cancelToScalar :: C u => T (Mul u (Recip u)) a -> a | | | recip :: (C u, C a) => T u a -> T (Recip u) a | | | unrecip :: (C u, C a) => T (Recip u) a -> T u a | | | sqr :: (C u, C a) => T u a -> T (Sqr u) a | | | sqrt :: (C u, C a) => T (Sqr u) a -> T u a | | | abs :: (C u, C a) => T u a -> T u a | | | absSignum :: (C u, C a) => T u a -> (T u a, a) | | | scale :: (C u, C a) => a -> T u a -> T u a | | | (*&) :: (C u, C a) => a -> T u a -> T u a | | | rewriteDimension :: (C u, C v) => (u -> v) -> T u a -> T v a | | | type Scalar a = T Scalar a | | | type Length a = T Length a | | | type Time a = T Time a | | | type Mass a = T Mass a | | | type Charge a = T Charge a | | | type Angle a = T Angle a | | | type Temperature a = T Temperature a | | | type Information a = T Information a | | | type Frequency a = T Frequency a | | | type Voltage a = T Voltage a | | | length :: a -> Length a | | | time :: a -> Time a | | | mass :: a -> Mass a | | | charge :: a -> Charge a | | | frequency :: a -> Frequency a | | | angle :: a -> Angle a | | | temperature :: a -> Temperature a | | | information :: a -> Information a | | | voltage :: a -> Voltage a |
|
|
|
| Number type
|
|
| newtype T u a |
| Constructors | | Instances | |
|
|
| fromNumber :: a -> Scalar a |
|
| toNumber :: Scalar a -> a |
|
| fromNumberWithDimension :: C u => u -> a -> T u a |
|
| toNumberWithDimension :: C u => u -> T u a -> a |
|
| mapFst :: (a -> c) -> (a, b) -> (c, b) |
|
| (&*&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u v) a |
|
| (&/&) :: (C u, C v, C a) => T u a -> T v a -> T (Mul u (Recip v)) a |
|
| mulToScalar :: (C u, C a) => T u a -> T (Recip u) a -> a |
|
| divToScalar :: (C u, C a) => T u a -> T u a -> a |
|
| cancelToScalar :: C u => T (Mul u (Recip u)) a -> a |
|
| recip :: (C u, C a) => T u a -> T (Recip u) a |
|
| unrecip :: (C u, C a) => T (Recip u) a -> T u a |
|
| sqr :: (C u, C a) => T u a -> T (Sqr u) a |
|
| sqrt :: (C u, C a) => T (Sqr u) a -> T u a |
|
| abs :: (C u, C a) => T u a -> T u a |
|
| absSignum :: (C u, C a) => T u a -> (T u a, a) |
|
| scale :: (C u, C a) => a -> T u a -> T u a |
|
| (*&) :: (C u, C a) => a -> T u a -> T u a |
|
| rewriteDimension :: (C u, C v) => (u -> v) -> T u a -> T v a |
|
| Example constructors
|
|
| type Scalar a = T Scalar a |
|
| type Length a = T Length a |
|
| type Time a = T Time a |
|
| type Mass a = T Mass a |
|
| type Charge a = T Charge a |
|
| type Angle a = T Angle a |
|
| type Temperature a = T Temperature a |
|
| type Information a = T Information a |
|
| type Frequency a = T Frequency a |
|
| type Voltage a = T Voltage a |
|
| length :: a -> Length a |
|
| time :: a -> Time a |
|
| mass :: a -> Mass a |
|
| charge :: a -> Charge a |
|
| frequency :: a -> Frequency a |
|
| angle :: a -> Angle a |
|
| temperature :: a -> Temperature a |
|
| information :: a -> Information a |
|
| voltage :: a -> Voltage a |
|
| Produced by Haddock version 0.7 |