dimensional-tf-0.2: Statically checked physical dimensions, implemented using type families.

PortabilityGHC only?
StabilityStable
Maintainerbjorn.buckwalter@gmail.com
Safe HaskellNone

Numeric.Units.Dimensional.TF

Description

Please refer to the literate Haskell code for documentation of both API and implementation.

Documentation

newtype Dimensional v d a Source

Constructors

Dimensional a 

Instances

Functor Dimensionless 
Typeable3 Dimensional 
(Show d, Show a) => Show (Quantity d a) 
Enum a => Enum (Dimensional v d a) 
Eq a => Eq (Dimensional v d a) 
Ord a => Ord (Dimensional v d a) 

data DUnit Source

Instances

(*~) :: Num a => a -> Unit d a -> Quantity d aSource

(/~) :: Fractional a => Quantity d a -> Unit d a -> aSource

data Dim l m t i th n j Source

Instances

Functor Dimensionless 
Typeable7 Dim 
(NumType l, NumType m, NumType t, NumType i, NumType th, NumType n, NumType j) => Show (Dim l m t i th n j) 

type family Mul a b Source

type family Div a b Source

type family Pow d x Source

type family Root d x Source

(*) :: Num a => Dimensional v d a -> Dimensional v d' a -> Dimensional v (Mul d d') aSource

(/) :: Fractional a => Dimensional v d a -> Dimensional v d' a -> Dimensional v (Div d d') aSource

(^) :: (Fractional a, NumType n) => Dimensional v d a -> n -> Dimensional v (Pow d n) aSource

(^+) :: (Num a, NumType n) => Dimensional v d a -> n -> Dimensional v (Pow d n) aSource

negate :: Num a => Quantity d a -> Quantity d aSource

(+) :: Num a => Quantity d a -> Quantity d a -> Quantity d aSource

(-) :: Num a => Quantity d a -> Quantity d a -> Quantity d aSource

abs :: Num a => Quantity d a -> Quantity d aSource

nroot :: (Floating a, NumType n) => n -> Dimensional v d a -> Dimensional v (Root d n) aSource

(^/) :: (Floating a, NumType n) => Dimensional v d a -> n -> Dimensional v (Root d n) aSource

(*~~) :: (Functor f, Num a) => f a -> Unit d a -> f (Quantity d a)Source

(/~~) :: (Functor f, Fractional a) => f (Quantity d a) -> Unit d a -> f aSource

sum :: forall d a. Num a => [Quantity d a] -> Quantity d aSource

_0 :: Num a => Quantity d aSource

prefix :: Num a => a -> Unit d a -> Unit d aSource