{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE TemplateHaskell #-} module Data.Aviation.Casr.Logbook.Types.Aircraft( Aircraft(..) , HasAircraft(..) , singleaircraft , multiaircraft ) where import Control.Lens(makeClassy) import Data.Aviation.Casr.Logbook.Types.Engine(Engine(Single, Multi)) import Data.Eq(Eq) import Data.Ord(Ord) import Data.String(String) import Prelude(Show) data Aircraft = Aircraft { _aircraftType :: String , _aircraftRegistration :: String , _aircraftEngine :: Engine } deriving (Eq, Ord, Show) makeClassy ''Aircraft singleaircraft :: String -> String -> Aircraft singleaircraft t r = Aircraft t r Single multiaircraft :: String -> String -> Aircraft multiaircraft t r = Aircraft t r Multi