{-# LANGUAGE DeriveAnyClass #-} module Horizon.Spec.Types.Modifiers ( Modifiers(MkModifiers) , doBenchmark , doCheck , doJailbreak , enableProfiling , includeBenchmarks , includeExecutables , includeTests , defaultModifiers ) where import Data.Kind (Type) import Dhall (FromDhall, Generic, ToDhall) type Modifiers :: Type data Modifiers where MkModifiers :: { Modifiers -> Bool doBenchmark :: Bool , Modifiers -> Bool doCheck :: Bool , Modifiers -> Bool doJailbreak :: Bool , Modifiers -> Bool enableProfiling :: Bool , Modifiers -> Bool includeBenchmarks :: Bool , Modifiers -> Bool includeExecutables :: Bool , Modifiers -> Bool includeTests :: Bool } -> Modifiers deriving stock (Int -> Modifiers -> ShowS [Modifiers] -> ShowS Modifiers -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Modifiers] -> ShowS $cshowList :: [Modifiers] -> ShowS show :: Modifiers -> String $cshow :: Modifiers -> String showsPrec :: Int -> Modifiers -> ShowS $cshowsPrec :: Int -> Modifiers -> ShowS Show, Modifiers -> Modifiers -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Modifiers -> Modifiers -> Bool $c/= :: Modifiers -> Modifiers -> Bool == :: Modifiers -> Modifiers -> Bool $c== :: Modifiers -> Modifiers -> Bool Eq, forall x. Rep Modifiers x -> Modifiers forall x. Modifiers -> Rep Modifiers x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Modifiers x -> Modifiers $cfrom :: forall x. Modifiers -> Rep Modifiers x Generic) deriving anyclass (InputNormalizer -> Decoder Modifiers forall a. (InputNormalizer -> Decoder a) -> FromDhall a autoWith :: InputNormalizer -> Decoder Modifiers $cautoWith :: InputNormalizer -> Decoder Modifiers FromDhall, InputNormalizer -> Encoder Modifiers forall a. (InputNormalizer -> Encoder a) -> ToDhall a injectWith :: InputNormalizer -> Encoder Modifiers $cinjectWith :: InputNormalizer -> Encoder Modifiers ToDhall) defaultModifiers :: Modifiers defaultModifiers :: Modifiers defaultModifiers = MkModifiers { $sel:doBenchmark:MkModifiers :: Bool doBenchmark = Bool False , $sel:doCheck:MkModifiers :: Bool doCheck = Bool False , $sel:doJailbreak:MkModifiers :: Bool doJailbreak = Bool True , $sel:enableProfiling:MkModifiers :: Bool enableProfiling = Bool True , $sel:includeBenchmarks:MkModifiers :: Bool includeBenchmarks = Bool True , $sel:includeExecutables:MkModifiers :: Bool includeExecutables = Bool True , $sel:includeTests:MkModifiers :: Bool includeTests = Bool True }