-
Notifications
You must be signed in to change notification settings - Fork 243
Debugging flags
Guido Martínez edited this page Feb 10, 2023
·
6 revisions
See Debugging FStar for explanation.
Updated Oct 2020. See also issue #2089.
-
1346: unification within tactics (do_unify) -
380: logical simplification in the normalizer -
bind: binding of effectful computations in typechecker -
CheckedFiles: loading and writing of .checked files; does not need a matching--debug -
Coercions: insertion of type-directed coercions in typechecker -
Dep: dependency analysis; does not need a matching--debug -
ED: typechecking of effect definitions -
Exports: something about internal letbindings? -
Extraction: extraction pipeline, including detailed info on the translation of terms into the backend language -
ExtractionReify: reification of effects on extraction -
ExtractNorm: normalization of top-level letbindings before extraction -
FastImplicits: fast implicit typechecking feature -
Gen: generalization -
GenUniverses: universe generalization -
Imp: prints implicits on proofstate dumps in tactics (remove?) -
ImplicitTrace: prints messages every time an implicit is created during typechecking or unification -
LayeredEffects,LayeredEffectsApp,LayeredEffectsEqns,LayeredEffectsTc: layered effects -
LogTypes: prints the types of top-levels after checking them -
NBE,NBETop: debugging of NBE normalizer -
Norm: normalization, prints full trace of abstract machine, very verbose! See following ones -
NormCfg: when in addition toNorm, dumps the full machine's cfg on every step (even more verbose!) -
NormDelayed: prints a message when the normalizer reaches aTm_delayednode (remove? is this useful?) -
NormRebuild: likeNorm, but for the rebuild phase (join withNorm?) -
NormTop: prints a message on the entry and exit of every normalization call, but no steps; useful to find slow norm calls -
Normalize: affects the behaviour of--dump_moduleby normalizing before printing. -
NYC: not sure -
PartialApp: partial applications during SMT encoding -
Patterns: typechecking of patterns -
Positivity: positivity analysis of inductives -
Primops: during normalization, print info about primitive operators (e.g.(+)) -
print_normalized_terms: in normalizer, print results of norm requests (Pervasives.norm, etc) -
Range: print information, including position info, of top-level variables when they appear in a program -
Rel,RelBench,RelCheck,RelDelta,EQ,ExplainRel: unification, see code for more details -
ResolveImplicitsHook: triggering and handling of@@resolve_implicits -
Return: insertion of returns in WPs -
Simplification: simplification of guards -
SMTEncoding: encoding pipeline, including a trace of the translation -
SMTEncodingReify: encoding of reifiable effects -
SMTQuery: prints obligations before encoding them, and some information on the querying process itself -
Tac: high-level messages about tactic execution -
TacFail: prints a message when a tactic fails internally, even if the failure is handled! -
TacVerbose: more tactic information, and more information in proofstate dumps -
TCDeclTime: print the time it takes to check each decl -
Time: print how long it takes to encode queries -
TwoPhases: info on 2-phase debugging, including what the elaborated definition looks like -
UF: elimination (compression) of uvars after typechecking -
Unfolding: in normalization, print when and why top-level variable names are unfolded to their definitions (or not unfolded), i.e. information about delta steps -
UniverseOf: prints a message in a given case of theuniverse_ofauxiliary function, likely not useful for users -
univ_norm: normalization of universe levels -
WPE: optimization of WPs in normalizer
PS. This can help in obtaining a list: sed -e '/Binary/d' -e 's/.*Options.Other "\(\S*\)".*/\1/' <(git grep "Options.Othe") | sort | uniq