{-# LANGUAGE GeneralizedNewtypeDeriving, MultiParamTypeClasses #-} -- | An elevation in metres, above 0. module Data.Geo.Elevation( Elevation, elevation ) where import Data.Geo.Accessor.Value newtype Elevation = Elevation Double deriving (Eq, Ord, Enum, Show, Num, Fractional, Floating) -- | Construct an elevation with the given number of metres. elevation :: Double -> Elevation elevation = Elevation . abs instance Value Elevation Double where value (Elevation x) = x