{-# LANGUAGE PatternSynonyms #-} {- | Copyright : Copyright (C) 2006-2015 Bjorn Buckwalter License : BSD3 Maintainer : bjorn@buckwalter.se Stability : Stable Portability: GHC only This module provides types and functions for manipulating unit names. Please note that the details of the name representation may be less stable than the other APIs provided by this package, as new features using them are still being developed. -} module Numeric.Units.Dimensional.UnitNames ( -- * Data Types UnitName, NameAtom, PrefixName, Metricality(..), -- * Construction of Unit Names atom, applyPrefix, (*), (/), (^), product, reduce, grouped, -- * Standard Names baseUnitName, -- ** Names for the Base Units nOne, nMeter, nGram, nKilogram, nSecond, nAmpere, nKelvin, nMole, nCandela, -- ** Names for the SI Metric Prefixes deka, hecto, kilo, mega, giga, tera, peta, exa, zetta, yotta, deci, centi, milli, micro, nano, pico, femto, atto, zepto, yocto, -- * Convenience Type Synonyms for Unit Name Transformations UnitNameTransformer, UnitNameTransformer2, -- * Forgetting Unwanted Phantom Types weaken, strengthen, relax ) where import Numeric.Units.Dimensional.UnitNames.Internal import Numeric.Units.Dimensional.Variants import Prelude hiding ((*), (/), (^), product)