{-| Module : NearExemplar Description : declares the exemplars used for the near Model License : GPL-3 Maintainer : hahn@geoinfo.tuwien.ac.at Stability : Declares Includes all data types and functions needed by the near Model module. The exemplars are represented by a data type deriving some type classes. -} module NearExemplar where -- | This data defines the exemplars that are handled by the model -- be sure to have for all of these frequency values. -- The data type must derive following type classes: -- (Show, Eq, Ord, Enum,Bounded) data NearExemplar = -- | represents the fifty metres exemplar M50 -- | represents the 100 metres exemplar | M100 -- | represents the 150 metres exemplar | M150 -- | represents the 300 metres exemplar | M300 -- | represents the 450 metres exemplar | M450 -- | represents the 450 metres exemplar | M1000 -- | represents the 5000 metres exemplar | M5000 -- | represents the 10.000 metres exemplar | M10000 deriving (Eq, Ord, Enum,Bounded) -- | returns a list of the exemplars -- -- >>> exemplars -- [M50,M100,M150,M300,M450,M1000,M5000,M10000] exemplars = enumFromTo minBound $ maxBound `asTypeOf` M50 -- | pretty print for the Exemplar type instance Show NearExemplar where show M50 = "50 m" show M100 = "100 m" show M150 = "150 m" show M300 = "300 m" show M450 = "450 m" show M1000= "1000 m" show M5000 = "5000 m" show M10000 = "10000 m"