content: {-# LANGUAGE TypeOperators, DataKinds #-}
  
  -----------------------------------------------------------------------------
  -- |
  -- Module      :  Data.Metrology.SI.Poly
  -- Copyright   :  (C) 2013 Richard Eisenberg
  -- License     :  BSD-style (see LICENSE)
  -- Maintainer  :  Richard Eisenberg (rae@cs.brynmawr.edu)
  -- Stability   :  experimental
  -- Portability :  non-portable
  --
  -- This module exports definitions for the SI system, with the intent
  -- of using these definitions in a polymorphic manner -- that is,
  -- with multiple LCSUs.
  -----------------------------------------------------------------------------
  
  module Data.Metrology.SI.Poly (
    SI,
    module Data.Metrology.SI.PolyTypes,
    module Data.Units.SI.Prefixes,
    module Data.Units.SI,
    module Data.Units.SI.Parser
    ) where
  
  import Data.Metrology.SI.PolyTypes
  import Data.Units.SI.Prefixes
  import Data.Units.SI
  import qualified Data.Dimensions.SI as D
  import Data.Metrology
  import Data.Units.SI.Parser
  
  type SI = MkLCSU '[ (D.Length, Meter)
                    , (D.Mass, Kilo :@ Gram)
                    , (D.Time, Second)
                    , (D.Current, Ampere)
                    , (D.Temperature, Kelvin)
                    , (D.AmountOfSubstance, Mole)
                    , (D.LuminousIntensity, Lumen)
                    , (D.PlaneAngle, Radian)
                    , (D.SolidAngle, Steradian)
                    ]
  