{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FunctionalDependencies #-}
module Data.Aviation.WB.Avgas100LL(
Avgas100LL(..)
) where
import Control.Category((.))
import Control.Lens(Iso', from)
import Data.Aviation.Units.USGallons(usgallons)
import Data.Aviation.Units.Pounds(pounds)
import Data.Aviation.WB.Weight(Weight)
import Data.Aviation.WB.Volume(Volume)
import Numeric.Lens(multiplying)
class Avgas100LL a b | a -> b, b -> a where
avgas100LL ::
Iso' a b
instance Avgas100LL Volume Weight where
avgas100LL =
from usgallons . multiplying 6 . pounds
instance Avgas100LL Weight Volume where
avgas100LL =
from avgas100LL