## control-apis.api
# Compiled by:
#
src/lib/compiler/core.sublib### "All truths are easy to understand
### once they are discovered; the
### point is to discover them."
###
### -- Galileo Galilei
api Match_Compiler_Controls { # This api is implemented in:
src/lib/compiler/toplevel/main/match-compiler-controls.pkg #
print_args: Ref( Bool );
print_ret: Ref( Bool );
bind_no_variable_warn: Ref( Bool );
warn_on_nonexhaustive_bind: Ref( Bool );
error_on_nonexhaustive_bind: Ref( Bool );
warn_on_nonexhaustive_match: Ref( Bool );
error_on_nonexhaustive_match: Ref( Bool );
warn_on_redundant_match: Ref( Bool );
error_on_redundant_match: Ref( Bool );
# my expand_result: Ref( Bool )
};
api Anormcode_Sequencer_Controls {
#
print: Ref( Bool );
print_phases: Ref( Bool );
print_function_types: Ref( Bool );
anormcode_passes: Ref( List(String) );
#
inline_threshold: Ref( Int );
# split_threshold: Ref( Int )
unroll_threshold: Ref( Int );
maxargs: Ref( Int ); # to put a cap on arity raising
dropinvariant: Ref( Bool );
specialize: Ref( Bool );
# lift_literals: Ref( Bool )
sharewrap: Ref( Bool );
saytappinfo: Ref( Bool ); # for verbose typelifting
# Only for temporary debugging:
misc: Ref( Int );
# Highcode internal type-checking controls:
#
check: Ref( Bool );
check_sumtypes: Ref( Bool );
check_kinds: Ref( Bool );
};
stipulate
package fil = file__premicrothread; # file__premicrothread is from
src/lib/std/src/posix/file--premicrothread.pkgherein
api Compiler_Controls {
#
allocprof: Ref( Bool );
alphac: Ref( Bool );
argrep: Ref( Bool );
arithopt: Ref( Bool );
beta_contract: Ref( Bool );
beta_expand: Ref( Bool );
bodysize: Ref( Int );
boxedconstconreps: Ref( Bool );
branchfold: Ref( Bool );
callee_function: Ref( Int );
checknextcode1: Ref( Bool );
checknextcode2: Ref( Bool );
checknextcode3: Ref( Bool );
checknextcode: Ref( Bool );
checklty1: Ref( Bool );
checklty2: Ref( Bool );
checklty3: Ref( Bool );
closure_strategy: Ref( Int );
closureprint: Ref( Bool );
comment: Ref( Bool );
comparefold: Ref( Bool );
optional_nextcode_improvers: Ref( List(String) ); # list of optional_nextcode_improvers phases
cse: Ref( Bool );
csehoist: Ref( Bool );
deadup: Ref( Bool );
deadvars: Ref( Bool );
debugnextcode: Ref( Bool );
dropargs: Ref( Bool );
escape_function: Ref( Int );
eta: Ref( Bool );
extraflatten: Ref( Bool );
flatfblock: Ref( Bool );
flattenargs: Ref( Bool );
foldconst: Ref( Bool );
handlerfold: Ref( Bool );
hoistdown: Ref( Bool );
hoistup: Ref( Bool );
icount: Ref( Bool );
if_idiom: Ref( Bool );
invariant: Ref( Bool );
known_cl_function: Ref( Int );
known_function: Ref( Int );
knownfiddle: Ref( Bool );
lambdaopt: Ref( Bool );
lambdaprop: Ref( Bool );
misc4: Ref( Int );
newconreps: Ref( Bool );
path: Ref( Bool );
poll_checks: Ref( Bool );
poll_ratio_a_to_i: Ref( Float);
printit: Ref( Bool );
printsize: Ref( Bool );
rangeopt: Ref( Bool );
recordcopy: Ref( Bool );
recordopt: Ref( Bool );
recordpath: Ref( Bool );
reducemore: Ref( Int );
rounds: Ref( Int );
scheduling: Ref( Bool );
selectopt: Ref( Bool );
sharepath: Ref( Bool );
spill_function: Ref( Int );
static_closure_size_profiling: Ref( Bool );
switchopt: Ref( Bool );
tail: Ref( Bool );
tailrecur: Ref( Bool );
targeting: Ref( Int );
uncurry: Ref( Bool );
unroll: Ref( Bool );
unroll_recursion: Ref( Bool );
split_known_escaping_functions: Ref( Bool );
improve_after_closure: Ref( Bool );
debug_representation: Ref( Bool );
print_flowgraph_stream: Ref( fil::Output_Stream );
disambiguate_memory: Ref( Bool );
control_dependence: Ref( Bool );
comp_debugging: Ref( Bool );
module_junk_debugging: Ref( Bool );
translate_to_anormcode_debugging: Ref( Bool );
type_junk_debugging: Ref( Bool );
types_debugging: Ref( Bool );
expand_generics_g_debugging: Ref( Bool );
typerstore_debugging: Ref( Bool );
generics_expansion_junk_debugging: Ref( Bool );
api_match_debugging: Ref( Bool );
type_package_language_debugging: Ref( Bool );
typer_junk_debugging: Ref( Bool );
type_api_debugging: Ref( Bool );
typecheck_type_debugging: Ref( Bool );
unify_typoids_debugging: Ref( Bool );
translate_types_debugging: Ref( Bool );
expand_oop_syntax_debugging: Ref( Bool );
verbose_compile_log: Ref( Bool );
trap_int_overflow: Ref( Bool );
check_vector_index_bounds: Ref( Bool );
compile_in_subprocesses: Ref( Bool );
};
end;
## COPYRIGHT (c) 1995 AT&T Bell Laboratories
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.