never executed always true always false
1 module HelVM.HelMA.Automaton.API.AutomatonOptions where
2
3 import HelVM.HelMA.Automaton.API.AutoOptions
4 import HelVM.HelMA.Automaton.API.OptimizationLevel
5 import HelVM.HelMA.Automaton.Types.RAMType
6 import HelVM.HelMA.Automaton.Types.StackType
7
8 optLevelAutoOptions ∷ AutomatonOptions → OptimizationLevel
9 optLevelAutoOptions = optLevel . autoOptions
10
11 withDefaultRam ∷ StackType → AutoOptions → AutomatonOptions
12 withDefaultRam s ao = AutomatonOptions
13 { ramType = defaultRAMType
14 , stackType = s
15 , autoOptions = ao
16 }
17
18 data AutomatonOptions
19 = AutomatonOptions
20 { stackType :: StackType
21 , ramType :: RAMType
22 , autoOptions :: AutoOptions
23 }