## typer-control.pkg
## (C) 2001 Lucent Technologies, Bell Labs
# Compiled by:
#
src/lib/compiler/front/typer/typer.sublib# Flags controlling the elaborator.
stipulate
package bc = basic_control; # basic_control is from
src/lib/compiler/front/basics/main/basic-control.pkg package ci = global_control_index; # global_control_index is from
src/lib/global-controls/global-control-index.pkg package cj = global_control_junk; # global_control_junk is from
src/lib/global-controls/global-control-junk.pkg package ctl = global_control; # global_control is from
src/lib/global-controls/global-control.pkgherein
package typer_control {
#
stipulate
menu_slot = [10, 10, 7];
clear = 2;
obscure = 6;
prefix = "typechecker";
registry = ci::make { help => "typechecker flags" };
my _ =
bc::note_subindex (prefix, registry, menu_slot);
convert_boolean = cj::cvt::bool;
next_menu_slot = REF 0;
fun make obscurity (name, help, d)
=
{ r = REF d;
menu_slot = *next_menu_slot;
control
=
ctl::make_control
{
name,
menu_slot => [menu_slot],
obscurity,
help => help,
control => r
};
next_menu_slot := menu_slot + 1;
ci::note_control
registry
{ control => ctl::make_string_control convert_boolean control,
dictionary_name => THE (cj::dn::to_upper "ELAB_" name)
};
r;
};
c_new = make clear;
o_new = make obscure;
herein
typecheck_type_debugging = o_new ("typecheck_type_debugging", "?", FALSE);
type_api_debugging = o_new ("type_api_debugging", "?", FALSE);
generics_expansion_junk_debugging = o_new ("generics_expansion_junk_debugging", "?", FALSE);
api_match_debugging = o_new ("api_match_debugging", "?", FALSE);
type_package_language_debugging = o_new ("type_package_language_debugging", "?", FALSE);
typer_junk_debugging = o_new ("typer_junk_debugging", "?", FALSE);
type_core_language_declaration_g_debugging = o_new ("type_core_language_declaration_g_debugging", "?", FALSE);
generalize_mutually_recursive_functions = o_new ("generalize_mutually_recursive_functions", "?", FALSE);
expand_oop_syntax_debugging = o_new ("expand_oop_syntax_debugging", "?", FALSE);
unify_typoids_debugging = o_new ("unify_typoids_debugging", "?", FALSE);
internals = o_new ("internals", "?", FALSE);
mark_deep_syntax_tree = o_new ("mark_deep_syntax_tree", "?", TRUE);
boxedconstconreps = o_new ("boxedconstreps", "?", FALSE);
mult_def_warn = c_new ("mult_def_warn", "?", FALSE);
share_def_error = c_new ("share_def_error", "?", TRUE);
value_restriction_local_warn = c_new ("value_restriction_local_warn", "?", FALSE);
value_restriction_top_warn = c_new ("value_restriction_top_warn", "?", FALSE); # Too many false positives to default to TRUE.
macro_expand_sigs = o_new ("macro_expand_sigs", "?", TRUE);
end;
};
end;