module Data.GPS.Coordinate.DegreesLongitude( DegreesLongitude , degreesLongitude ) where import Prelude(Int, Bool(..), Eq, Show, Ord(..), (&&)) import Data.Maybe(Maybe(..)) import Control.Lens(Prism', prism') newtype DegreesLongitude = DegreesLongitude Int deriving (Eq, Show) degreesLongitude :: Prism' Int DegreesLongitude degreesLongitude = prism' (\(DegreesLongitude i) -> i) (\i -> case i >= -180 && i <= 180 of True -> Just (DegreesLongitude i) False -> Nothing)