module Configuration
( Configuration,
input,
target,
debug,
opt,
outputFileName,
defaultConfiguration,
CompilerStage (..),
OptimizationSpecification (..),
OptimizationName (..),
)
where
import Configuration.Types
( CompilerStage (..),
Configuration (..),
OptimizationName (..),
OptimizationSpecification (..),
debug,
defaultConfiguration,
explicitTarget,
input,
opt,
outputFileName,
)
import Data.Maybe (fromMaybe)
target :: Configuration -> CompilerStage
target :: Configuration -> CompilerStage
target Configuration
conf = CompilerStage -> Maybe CompilerStage -> CompilerStage
forall a. a -> Maybe a -> a
fromMaybe CompilerStage
defaultTarget (Maybe CompilerStage -> CompilerStage)
-> Maybe CompilerStage -> CompilerStage
forall a b. (a -> b) -> a -> b
$ Configuration -> Maybe CompilerStage
explicitTarget Configuration
conf
where
defaultTarget :: CompilerStage
defaultTarget = CompilerStage
Parse