The CONTROL signature


Synopsis

signature CONTROL
structure Control : CONTROL

Interface

structure MC : MCCONTROL
structure Lazy : LAZYCONTROL
structure CG : CGCONTROL
structure Print : PRINTCONTROL
val debugging : bool ref
val primaryPrompt : string ref
val secondaryPrompt : string ref
val printWarnings : bool ref
val valueRestrictionWarn : bool ref
val instantiateSigs : bool ref
val internals : bool ref
val interp : bool ref
val saveLambda : bool ref
val saveLvarNames : bool ref
val preserveLvarNames : bool ref
val markabsyn : bool ref
val trackExn : bool ref
val indexing : bool ref
val instSigs : bool ref
val quotation : bool ref
val saveit : bool ref
val saveAbsyn : bool ref
val saveConvert : bool ref
val saveCPSopt : bool ref
val saveClosure : bool ref
val lambdaSplitEnable : bool ref
val crossInlineEnable : bool ref

Description

debugging
Enable general-purpose debugging messages throughout the compiler.

primaryPrompt
The prompt that is printed in the interactive loop between top-level declarations.

secondaryPrompt
The prompt printed by the interactive loop in the midst of a declaration.

printWarnings
Control whether compiler warning messages are printed.

valueRestrictionWarn
Control whether a warning message is printed when a failure to generalize occurs for a declaration inside a let.

instantiateSigs


internals
Show internal fields of types and modules when pretty-printing top-level declarations.

interp
Interpret instead of generating native code. Obsolete.

saveLambda


saveLvarNames
Propagate names of user-declared variables throughout the compiler's intermediate representation.

preserveLvarNames


markabsyn
Propagate source-location marks to, and through, the type-checker.

trackExn
Attach source-file description strings to exceptions where they are raised, re-raised, and propagated through handlers. (See also SMLofNJ.exnHistory.

indexing


instSigs


quotation
Treat back-quote ` as a special "quotation" character; see also SMLofNJ.frag.

saveit


saveAbsyn


saveConvert


saveCPSopt


saveClosure


lambdaSplitEnable
Enable the "lambda-splitting" optimization, useful for cross-module inline-expansion.

crossInlineEnable
Enable cross-module inline-expansion.