module GHC.Core.Rules.Config where import GHC.Prelude import GHC.Platform -- | Rule options data RuleOpts = RuleOpts { RuleOpts -> Platform roPlatform :: !Platform -- ^ Target platform , RuleOpts -> Bool roNumConstantFolding :: !Bool -- ^ Enable constant folding through nested expressions. -- -- See Note [Constant folding through nested expressions] in GHC.Core.Opt.ConstantFold , RuleOpts -> Bool roExcessRationalPrecision :: !Bool -- ^ Cut down precision of Rational values to that of Float/Double if disabled , RuleOpts -> Bool roBignumRules :: !Bool -- ^ Enable built-in bignum rules (requires roBuiltinRules to be True too) -- -- See Note [Built-in bignum rules] in GHC.Core.Opt.ConstantFold , RuleOpts -> Bool roBuiltinRules :: !Bool -- ^ Enable or disable all builtin rules (including bignum rules) }