packages feed

units-defs (empty) → 1.0

raw patch · 13 files changed

+784/−0 lines, 13 filesdep +basedep +unitssetup-changed

Dependencies added: base, units

Files

+ CHANGES.md view
@@ -0,0 +1,4 @@+Version 1.0+-----------++ * First release, contains implementations for SI.
+ Data/Metrology/SI.hs view
@@ -0,0 +1,25 @@+-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI+-- Copyright   :  (C) 2013 Richard Eisenberg+-- License     :  BSD-style (see LICENSE)+-- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)+-- Stability   :  experimental+-- Portability :  non-portable+--+-- This module exports unit, type, and prefix definitions according to the SI+-- system of units. The definitions were taken from here:+-- <http://www.bipm.org/en/si/> and here:+-- <http://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf>.+--+-- This module exports the monomorphic version of the definitions. For+-- polymorphic versions, use 'Data.Metrology.SI.Poly'.+-----------------------------------------------------------------------------++module Data.Metrology.SI (+  module Data.Metrology.SI.Mono+  ) where++import Data.Metrology.SI.Mono++
+ Data/Metrology/SI/Dims.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE TypeOperators #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI.Dims+-- 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 SI dimensions. The names of SI dimensions conform to+-- <http://www.bipm.org/utils/common/documents/jcgm/JCGM_200_2012.pdf>.+-----------------------------------------------------------------------------++module Data.Metrology.SI.Dims where++import Data.Metrology++data Length = Length+instance Dimension Length++data Mass = Mass+instance Dimension Mass++data Time = Time+instance Dimension Time++data Current = Current+instance Dimension Current++data Temperature = Temperature+instance Dimension Temperature++data AmountOfSubstance = AmountOfSubstance+instance Dimension AmountOfSubstance++data LuminousIntensity = LuminousIntensity+instance Dimension LuminousIntensity++type Area                = Length            :^ Two+type Volume              = Length            :^ Three+type Velocity            = Length            :/ Time+type Acceleration        = Velocity          :/ Time+type Wavenumber          = Length            :^ MOne+type Density             = Mass              :/ Volume+type SurfaceDensity      = Mass              :/ Area+type SpecificVolume      = Volume            :/ Mass+type CurrentDensity      = Current           :/ Area+type MagneticStrength    = Current           :/ Length+type Concentration       = AmountOfSubstance          :/ Volume+type Luminance           = LuminousIntensity        :/ Area++type Frequency           = Time              :^ MOne+type Force               = Mass              :* Acceleration+type Pressure            = Force             :/ Area+type Energy              = Force             :* Length+type Power               = Energy            :/ Time+type Charge              = Current           :* Time+type ElectricPotential   = Power             :/ Current+type Capacitance         = Charge            :/ ElectricPotential+type Resistance          = ElectricPotential :/ Current+type Conductance         = Current           :/ ElectricPotential+type MagneticFlux        = ElectricPotential :* Time+type MagneticFluxDensity = MagneticFlux      :/ Area+type Inductance          = MagneticFlux      :/ Current+type LuminousFlux        = LuminousIntensity+type Illuminance         = LuminousIntensity :/ Area+type Kerma               = Area              :/ (Time :^ Two)+type CatalyticActivity   = AmountOfSubstance :/ Time++type Momentum            = Mass              :* Velocity
+ Data/Metrology/SI/Mono.hs view
@@ -0,0 +1,25 @@+-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI.Mono+-- Copyright   :  (C) 2013 Richard Eisenberg+-- License     :  BSD-style (see LICENSE)+-- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)+-- Stability   :  experimental+-- Portability :  non-portable+--+-- This module exports definitions for the SI system, with the intent+-- of using these definitions in a monomorphic manner -- that is,+-- with the DefaultLCSU.+-----------------------------------------------------------------------------++module Data.Metrology.SI.Mono (+  module Data.Metrology.SI.MonoTypes,+  module Data.Metrology.SI.Units,+  module Data.Metrology.SI.Prefixes+  ) where++import Data.Metrology.SI.MonoTypes+import Data.Metrology.SI.Units+import Data.Metrology.SI.Prefixes++
+ Data/Metrology/SI/MonoTypes.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE TypeFamilies, TypeOperators #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI.MonoTypes+-- 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 SI units, using a Double as the+-- internal representation.+-----------------------------------------------------------------------------++module Data.Metrology.SI.MonoTypes where++import Data.Metrology+import Data.Metrology.SI.Units+import Data.Metrology.SI.Prefixes ( Kilo )+import qualified Data.Metrology.SI.Dims as D++type instance DefaultUnitOfDim D.Length            = Meter+type instance DefaultUnitOfDim D.Mass              = Kilo :@ Gram+type instance DefaultUnitOfDim D.Time              = Second+type instance DefaultUnitOfDim D.Current           = Ampere+type instance DefaultUnitOfDim D.Temperature       = Kelvin+type instance DefaultUnitOfDim D.AmountOfSubstance = Mole+type instance DefaultUnitOfDim D.LuminousIntensity = Lumen++type Length              = MkQu_D D.Length+type Mass                = MkQu_D D.Mass+type Time                = MkQu_D D.Time+type Current             = MkQu_D D.Current+type Temperature         = MkQu_D D.Temperature+type AmountOfSubstance   = MkQu_D D.AmountOfSubstance+type LuminousIntensity   = MkQu_D D.LuminousIntensity++type Area                = MkQu_D D.Area+type Volume              = MkQu_D D.Volume+type Velocity            = MkQu_D D.Velocity+type Acceleration        = MkQu_D D.Acceleration+type Wavenumber          = MkQu_D D.Wavenumber+type Density             = MkQu_D D.Density+type SurfaceDensity      = MkQu_D D.SurfaceDensity+type SpecificVolume      = MkQu_D D.SpecificVolume+type CurrentDensity      = MkQu_D D.CurrentDensity+type MagneticStrength    = MkQu_D D.MagneticStrength+type Concentration       = MkQu_D D.Concentration+type Luminance           = MkQu_D D.Luminance+type Frequency           = MkQu_D D.Frequency+type Force               = MkQu_D D.Force+type Pressure            = MkQu_D D.Pressure+type Energy              = MkQu_D D.Energy+type Power               = MkQu_D D.Power+type Charge              = MkQu_D D.Charge+type ElectricPotential   = MkQu_D D.ElectricPotential+type Capacitance         = MkQu_D D.Capacitance+type Resistance          = MkQu_D D.Resistance+type Conductance         = MkQu_D D.Conductance+type MagneticFlux        = MkQu_D D.MagneticFlux+type MagneticFluxDensity = MkQu_D D.MagneticFluxDensity+type Inductance          = MkQu_D D.Inductance+type LuminousFlux        = MkQu_D D.LuminousFlux+type Illuminance         = MkQu_D D.Illuminance+type Kerma               = MkQu_D D.Kerma+type CatalyticActivity   = MkQu_D D.CatalyticActivity+type Momentum            = MkQu_D D.Momentum
+ Data/Metrology/SI/Poly.hs view
@@ -0,0 +1,37 @@+{-# LANGUAGE TypeOperators, DataKinds #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI.Poly+-- Copyright   :  (C) 2013 Richard Eisenberg+-- License     :  BSD-style (see LICENSE)+-- Maintainer  :  Richard Eisenberg (eir@cis.upenn.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.Metrology.SI.Prefixes,+  module Data.Metrology.SI.Units+  ) where++import Data.Metrology.SI.PolyTypes+import Data.Metrology.SI.Prefixes+import Data.Metrology.SI.Units+import qualified Data.Metrology.SI.Dims as D+import Data.Metrology++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)+                  ]
+ Data/Metrology/SI/PolyTypes.hs view
@@ -0,0 +1,58 @@+{-# 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.Metrology.SI.Dims 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            
+ Data/Metrology/SI/Prefixes.hs view
@@ -0,0 +1,217 @@+{-# LANGUAGE TypeOperators #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI.Prefixes+-- Copyright   :  (C) 2013 Richard Eisenberg+-- License     :  BSD-style (see LICENSE)+-- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)+-- Stability   :  experimental+-- Portability :  non-portable+--+-- Defines prefixes from the SI standard at <http://www.bipm.org/en/si/>+-----------------------------------------------------------------------------++module Data.Metrology.SI.Prefixes where++import Data.Metrology++-- | 10^1+data Deca = Deca+instance UnitPrefix Deca where+  multiplier _ = 1e1+instance Show Deca where+  show _ = "da"++deca :: unit -> Deca :@ unit+deca = (Deca :@)++-- | 10^2+data Hecto = Hecto+instance UnitPrefix Hecto where+  multiplier _ = 1e2+instance Show Hecto where+  show _ = "h"++hecto :: unit -> Hecto :@ unit+hecto = (Hecto :@)++-- | 10^3+data Kilo = Kilo+instance UnitPrefix Kilo where+  multiplier _ = 1e3+instance Show Kilo where+  show _ = "k"++kilo :: unit -> Kilo :@ unit+kilo = (Kilo :@)++-- | 10^6+data Mega = Mega+instance UnitPrefix Mega where+  multiplier _ = 1e6+instance Show Mega where+  show _ = "M"++mega :: unit -> Mega :@ unit+mega = (Mega :@)++-- | 10^9+data Giga = Giga+instance UnitPrefix Giga where+  multiplier _ = 1e9+instance Show Giga where+  show _ = "G"++giga :: unit -> Giga :@ unit+giga = (Giga :@)++-- | 10^12+data Tera = Tera+instance UnitPrefix Tera where+  multiplier _ = 1e12+instance Show Tera where+  show _ = "T"++tera :: unit -> Tera :@ unit+tera = (Tera :@)++-- | 10^15+data Peta = Peta+instance UnitPrefix Peta where+  multiplier _ = 1e15+instance Show Peta where+  show _ = "P"++peta :: unit -> Peta :@ unit+peta = (Peta :@)++-- | 10^18+data Exa = Exa+instance UnitPrefix Exa where+  multiplier _ = 1e18+instance Show Exa where+  show _ = "E"++exa :: unit -> Exa :@ unit+exa = (Exa :@)++-- | 10^21+data Zetta = Zetta+instance UnitPrefix Zetta where+  multiplier _ = 1e21+instance Show Zetta where+  show _ = "Z"++zetta :: unit -> Zetta :@ unit+zetta = (Zetta :@)++-- | 10^24+data Yotta = Yotta+instance UnitPrefix Yotta where+  multiplier _ = 1e24+instance Show Yotta where+  show _ = "Y"++yotta :: unit -> Yotta :@ unit+yotta = (Yotta :@)++-- | 10^-1+data Deci = Deci+instance UnitPrefix Deci where+  multiplier _ = 1e-1+instance Show Deci where+  show _ = "d"++deci :: unit -> Deci :@ unit+deci = (Deci :@)++-- | 10^-2+data Centi = Centi+instance UnitPrefix Centi where+  multiplier _ = 1e-2+instance Show Centi where+  show _ = "c"++centi :: unit -> Centi :@ unit+centi = (Centi :@)++-- | 10^-3+data Milli = Milli+instance UnitPrefix Milli where+  multiplier _ = 1e-3+instance Show Milli where+  show _ = "m"++milli :: unit -> Milli :@ unit+milli = (Milli :@)++-- | 10^-6+data Micro = Micro+instance UnitPrefix Micro where+  multiplier _ = 1e-6+instance Show Micro where+  show _ = "μ"++micro :: unit -> Micro :@ unit+micro = (Micro :@)++-- | 10^-9+data Nano = Nano+instance UnitPrefix Nano where+  multiplier _ = 1e-9+instance Show Nano where+  show _ = "n"++nano :: unit -> Nano :@ unit+nano = (Nano :@)++-- | 10^-12+data Pico = Pico+instance UnitPrefix Pico where+  multiplier _ = 1e-12+instance Show Pico where+  show _ = "p"++pico :: unit -> Pico :@ unit+pico = (Pico :@)++-- | 10^-15+data Femto = Femto+instance UnitPrefix Femto where+  multiplier _ = 1e-15+instance Show Femto where+  show _ = "f"++femto :: unit -> Femto :@ unit+femto = (Femto :@)++-- | 10^-18+data Atto = Atto+instance UnitPrefix Atto where+  multiplier _ = 1e-18+instance Show Atto where+  show _ = "a"++atto :: unit -> Atto :@ unit+atto = (Atto :@)++-- | 10^-21+data Zepto = Zepto+instance UnitPrefix Zepto where+  multiplier _ = 1e-21+instance Show Zepto where+  show _ = "z"++zepto :: unit -> Zepto :@ unit+zepto = (Zepto :@)++-- | 10^-24+data Yocto = Yocto+instance UnitPrefix Yocto where+  multiplier _ = 1e-24+instance Show Yocto where+  show _ = "y"++yocto :: unit -> Yocto :@ unit+yocto = (Yocto :@)
+ Data/Metrology/SI/Units.hs view
@@ -0,0 +1,196 @@+{-# LANGUAGE TypeFamilies, TypeOperators #-}++-----------------------------------------------------------------------------+-- |+-- Module      :  Data.Metrology.SI.Units+-- Copyright   :  (C) 2013 Richard Eisenberg+-- License     :  BSD-style (see LICENSE)+-- Maintainer  :  Richard Eisenberg (eir@cis.upenn.edu)+-- Stability   :  experimental+-- Portability :  non-portable+--+-- This module exports unit definitions according to the SI system of units.+-- The definitions were taken from here: <http://www.bipm.org/en/si/>.+--+-- There is one deviation from the definition at that site: To work better+-- with prefixes, the unit of mass is 'Gram'.+-----------------------------------------------------------------------------++module Data.Metrology.SI.Units where++import Data.Metrology+import Data.Metrology.SI.Dims+import Data.Metrology.SI.Prefixes ( Centi )++data Meter = Meter+instance Unit Meter where+  type BaseUnit Meter = Canonical+  type DimOfUnit Meter = Length+instance Show Meter where+  show _ = "m"++data Gram = Gram+instance Unit Gram where+  type BaseUnit Gram = Canonical+  type DimOfUnit Gram = Mass+instance Show Gram where+  show _ = "g"++data Second = Second+instance Unit Second where+  type BaseUnit Second = Canonical+  type DimOfUnit Second = Time+instance Show Second where+  show _ = "s"++data Ampere = Ampere+instance Unit Ampere where+  type BaseUnit Ampere = Canonical+  type DimOfUnit Ampere = Current+instance Show Ampere where+  show _ = "A"++data Kelvin = Kelvin+instance Unit Kelvin where+  type BaseUnit Kelvin = Canonical+  type DimOfUnit Kelvin = Temperature+instance Show Kelvin where+  show _ = "K"++data Mole = Mole+instance Unit Mole where+  type BaseUnit Mole = Canonical+  type DimOfUnit Mole = AmountOfSubstance+instance Show Mole where+  show _ = "mol"++data Candela = Candela+instance Unit Candela where+  type BaseUnit Candela = Canonical+  type DimOfUnit Candela = LuminousIntensity+instance Show Candela where+  show _ = "cd"++data Hertz = Hertz+instance Unit Hertz where+  type BaseUnit Hertz = Number :/ Second+instance Show Hertz where+  show _ = "Hz"++-- | This is not in the SI standard, but is used widely.+data Liter = Liter+instance Unit Liter where+  type BaseUnit Liter = (Centi :@ Meter) :^ Three+  conversionRatio _ = 1000+instance Show Liter where+  show _ = "l"++data Newton = Newton+instance Unit Newton where+  type BaseUnit Newton = Gram :* Meter :/ (Second :^ Two)+  conversionRatio _ = 1000+instance Show Newton where+  show _ = "N"++data Pascal = Pascal+instance Unit Pascal where+  type BaseUnit Pascal = Newton :/ (Meter :^ Two)+instance Show Pascal where+  show _ = "Pa"++data Joule = Joule+instance Unit Joule where+  type BaseUnit Joule = Newton :* Meter+instance Show Joule where+  show _ = "J"++data Watt = Watt+instance Unit Watt where+  type BaseUnit Watt = Joule :/ Second+instance Show Watt where+  show _ = "W"++data Coulomb = Coulomb+instance Unit Coulomb where+  type BaseUnit Coulomb = Ampere :* Second+instance Show Coulomb where+  show _ = "C"++data Volt = Volt+instance Unit Volt where+  type BaseUnit Volt = Watt :/ Ampere+instance Show Volt where+  show _ = "V"++data Farad = Farad+instance Unit Farad where+  type BaseUnit Farad = Coulomb :/ Volt+instance Show Farad where+  show _ = "F"++data Ohm = Ohm+instance Unit Ohm where+  type BaseUnit Ohm = Volt :/ Ampere+instance Show Ohm where+  show _ = "Ω"++data Siemens = Siemens+instance Unit Siemens where+  type BaseUnit Siemens = Ampere :/ Volt+instance Show Siemens where+  show _ = "S"++data Weber = Weber+instance Unit Weber where+  type BaseUnit Weber = Volt :* Second+instance Show Weber where+  show _ = "Wb"++data Tesla = Tesla+instance Unit Tesla where+  type BaseUnit Tesla = Weber :/ (Meter :^ Two)+instance Show Tesla where+  show _ = "T"++data Henry = Henry+instance Unit Henry where+  type BaseUnit Henry = Weber :/ Ampere+instance Show Henry where+  show _ = "H"++data Lumen = Lumen+instance Unit Lumen where+  type BaseUnit Lumen = Candela+instance Show Lumen where+  show _ = "lm"++data Lux = Lux+instance Unit Lux where+  type BaseUnit Lux = Lumen :/ (Meter :^ Two)+instance Show Lux where+  show _ = "lx"++data Becquerel = Becquerel+instance Unit Becquerel where+  type BaseUnit Becquerel = Number :/ Second+instance Show Becquerel where+  show _ = "Bq"++data Gray = Gray+instance Unit Gray where+  type BaseUnit Gray = (Meter :^ Two) :/ (Second :^ Two)+instance Show Gray where+  show _ = "Gy"++data Sievert = Sievert+instance Unit Sievert where+  type BaseUnit Sievert = (Meter :^ Two) :/ (Second :^ Two)+instance Show Sievert where+  show _ = "Sv"++data Katal = Katal+instance Unit Katal where+  type BaseUnit Katal = Mole :/ Second+instance Show Katal where+  show _ = "kat"+
+ LICENSE view
@@ -0,0 +1,27 @@+Copyright (c) 2013, Richard Eisenberg+All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++1. Redistributions of source code must retain the above copyright notice, this+list of conditions and the following disclaimer.++2. Redistributions in binary form must reproduce the above copyright notice,+this list of conditions and the following disclaimer in the documentation+and/or other materials provided with the distribution.++3. Neither the name of the author nor the names of its contributors may be+used to endorse or promote products derived from this software without+specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ README.md view
@@ -0,0 +1,8 @@+`units-defs`+============++This package provides system definitions for use with the separate+`units` package. See the individual modules for details.++User contributions to this package are strongly encouraged. Please+submit pull requests!
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ units-defs.cabal view
@@ -0,0 +1,45 @@+name:           units-defs+version:        1.0+cabal-version:  >= 1.10+synopsis:       Definitions for use with the units package+homepage:       http://github.com/goldfirere/units-defs+category:       Physics+author:         Richard Eisenberg <eir@cis.upenn.edu>, Takayuki Muranushi <muranushi@gmail.com>+maintainer:     Richard Eisenberg <eir@cis.upenn.edu>, Takayuki Muranushi <muranushi@gmail.com>+bug-reports:    https://github.com/goldfirere/units-defs/issues+stability:      experimental+extra-source-files: README.md, CHANGES.md+license:        BSD3+license-file:   LICENSE+build-type:     Simple+description:++    This package provides system definitions for use with the separate+    @units@ package. See the individual modules for details.++    User contributions to this package are strongly encouraged. Please+    submit pull requests!++source-repository this+  type:     git+  location: https://github.com/goldfirere/units-defs.git+  tag:      v1.0++library+  build-depends:      +      base >= 4.7 && < 5,+      units >= 2.0 && < 3+  exposed-modules:+    Data.Metrology.SI,+    Data.Metrology.SI.Mono,+    Data.Metrology.SI.Poly,+    Data.Metrology.SI.Prefixes,+    Data.Metrology.SI.MonoTypes, +    Data.Metrology.SI.Units,+    Data.Metrology.SI.Dims,+    Data.Metrology.SI.PolyTypes+--    Data.Metrology.Imperial.Types+--    Data.Metrology.Imperial.Units++  default-language:   Haskell2010+