units-defs-2.2.1: Data/Units/Imperial/Area.hs
{-# LANGUAGE TemplateHaskell, TypeFamilies, TypeOperators #-}
-----------------------------------------------------------------------------
-- |
-- Module : Data.Units.Imperial.Area
-- Copyright : (C) 2013 Richard Eisenberg
-- License : BSD-style (see LICENSE)
-- Maintainer : Richard Eisenberg (rae@cs.brynmawr.edu)
-- Stability : experimental
-- Portability : non-portable
--
-- The traditional area units are defined in reference to the survey
-- ones.
--
-- Where possible, reference have been made to UK legislation. However,
-- Wikipedia's page is /much/ better organized than any government
-- resource immediately available.
--
-- The UK legislation used as references are as follows:
-- <http://www.legislation.gov.uk/ukpga/1985/72/enacted>
-- <http://www.legislation.gov.uk/uksi/1994/2867/schedule/part/VI/made>
-- <http://www.legislation.gov.uk/uksi/1995/1804/schedule/made>
-----------------------------------------------------------------------------
module Data.Units.Imperial.Area where
import Data.Metrology
import Data.Metrology.TH
import Data.Units.Imperial.Length
import Data.Units.Imperial.Survey
import Language.Haskell.TH
declareDerivedUnit "Perch" [t| Rod :* Rod |] 1 (Just "perch")
declareDerivedUnit "Rood" [t| Furlong :* Rod |] 1 (Just "rood")
declareDerivedUnit "Acre" [t| Furlong :* Chain |] 1 (Just "acre")
-- | Areas units: All units above
areas :: [Name]
areas = [ ''Perch, ''Rood, ''Acre ]