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 +4/−0
- Data/Metrology/SI.hs +25/−0
- Data/Metrology/SI/Dims.hs +72/−0
- Data/Metrology/SI/Mono.hs +25/−0
- Data/Metrology/SI/MonoTypes.hs +68/−0
- Data/Metrology/SI/Poly.hs +37/−0
- Data/Metrology/SI/PolyTypes.hs +58/−0
- Data/Metrology/SI/Prefixes.hs +217/−0
- Data/Metrology/SI/Units.hs +196/−0
- LICENSE +27/−0
- README.md +8/−0
- Setup.hs +2/−0
- units-defs.cabal +45/−0
+ 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+