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 rules for bignums
   }