casr-logbook-0.6.13: src/Data/Aviation/Casr/Logbook/Meta/BriefingMeta.hs
{-# OPTIONS_GHC -Wall #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-}
module Data.Aviation.Casr.Logbook.Meta.BriefingMeta(
BriefingMeta(BriefingMeta)
, HasBriefingMeta(..)
) where
import Control.Lens(makeClassy, makeWrapped)
import Data.Aviation.Casr.Logbook.Meta.BriefingExpense
( BriefingExpense )
import Data.Eq(Eq)
import Data.Monoid ( (<>), Monoid(mempty) )
import Data.Ord(Ord)
import Data.Semigroup ( Semigroup )
import Prelude(Show)
newtype BriefingMeta =
BriefingMeta
[BriefingExpense]
deriving (Eq, Ord, Show)
makeClassy ''BriefingMeta
makeWrapped ''BriefingMeta
instance Semigroup BriefingMeta where
BriefingMeta x <> BriefingMeta y =
BriefingMeta (x <> y)
instance Monoid BriefingMeta where
mempty =
BriefingMeta mempty