module Zifter.Setup.Types where
import GHC.Generics
import Zifter.Zift.Types
data ZiftSetup = ZiftSetup
{ ziftPreprocessor :: Zift ()
, ziftPreChecker :: Zift ()
, ziftChecker :: Zift ()
} deriving (Generic)
instance Monoid ZiftSetup where
mempty =
ZiftSetup
{ ziftPreprocessor = pure ()
, ziftPreChecker = pure ()
, ziftChecker = pure ()
}
mappend z1 z2 =
ZiftSetup
{ ziftPreprocessor = ziftPreprocessor z1 `mappend` ziftPreprocessor z2
, ziftPreChecker = ziftPreChecker z1 `mappend` ziftPreChecker z2
, ziftChecker = ziftChecker z1 `mappend` ziftChecker z2
}