{-# LANGUAGE TypeOperators, DataKinds #-}

-----------------------------------------------------------------------------
-- |
-- Module      :  Data.Metrology.SI.PolyTypes
-- Copyright   :  (C) 2013 Richard Eisenberg
-- License     :  BSD-style (see LICENSE)
-- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)
-- Stability   :  experimental
-- Portability :  non-portable
--
-- This module defines type synonyms for dimensions based on the seven
-- SI dimensions, for arbitrary choice of system of units and numerical values.
-----------------------------------------------------------------------------

module Data.Metrology.SI.PolyTypes where

import Data.Metrology
import qualified Data.Dimensions.SI as D

type Length              = MkQu_DLN D.Length              
type Mass                = MkQu_DLN D.Mass                
type Time                = MkQu_DLN D.Time                
type Current             = MkQu_DLN D.Current             
type Temperature         = MkQu_DLN D.Temperature         
type AmountOfSubstance   = MkQu_DLN D.AmountOfSubstance   
type LuminousIntensity   = MkQu_DLN D.LuminousIntensity   

type Area                = MkQu_DLN D.Area                
type Volume              = MkQu_DLN D.Volume              
type Velocity            = MkQu_DLN D.Velocity            
type Acceleration        = MkQu_DLN D.Acceleration        
type Wavenumber          = MkQu_DLN D.Wavenumber          
type Density             = MkQu_DLN D.Density             
type SurfaceDensity      = MkQu_DLN D.SurfaceDensity      
type SpecificVolume      = MkQu_DLN D.SpecificVolume      
type CurrentDensity      = MkQu_DLN D.CurrentDensity      
type MagneticStrength    = MkQu_DLN D.MagneticStrength    
type Concentration       = MkQu_DLN D.Concentration       
type Luminance           = MkQu_DLN D.Luminance           
type Frequency           = MkQu_DLN D.Frequency           
type Force               = MkQu_DLN D.Force               
type Pressure            = MkQu_DLN D.Pressure            
type Energy              = MkQu_DLN D.Energy              
type Power               = MkQu_DLN D.Power               
type Charge              = MkQu_DLN D.Charge              
type ElectricPotential   = MkQu_DLN D.ElectricPotential   
type Capacitance         = MkQu_DLN D.Capacitance         
type Resistance          = MkQu_DLN D.Resistance          
type Conductance         = MkQu_DLN D.Conductance         
type MagneticFlux        = MkQu_DLN D.MagneticFlux        
type MagneticFluxDensity = MkQu_DLN D.MagneticFluxDensity 
type Inductance          = MkQu_DLN D.Inductance          
type LuminousFlux        = MkQu_DLN D.LuminousFlux        
type Illuminance         = MkQu_DLN D.Illuminance         
type Kerma               = MkQu_DLN D.Kerma               
type CatalyticActivity   = MkQu_DLN D.CatalyticActivity   
type Momentum            = MkQu_DLN D.Momentum