- etaPoly : Bool
etaPolyis true, we eta expand any global function application when the function takes local instances. The idea is that we do not generate code for this kind of application, and we want all of them to specialized or inlined.
- inlinePartial : Bool
true, we inline partial function applications tagged with
[inline]. Note that this option is automatically disabled when processing declarations tagged with
[inline], marked to be specialized, or instances.
- implementedBy : Bool
true, we apply the
implemented_byreplacements. Remark: we only apply
casesOnreplacements at phase 2 because
casesconstructor may not have enough information for reconstructing the original
casesOnapplication at phase 1.
- inlineDefs : Bool
truethen top-level definitions are inlined when they are small are annotated with inlining attributes.
Configuration options for
Simp that are not controlled using
Recall that we have multiple
Simp passes and they use different configurations.