The Mythryl compiler’s operation may be modulated via a large and ever-changing collection of control settings.
These Mythryl compiler control settings may be listed from the Linux commandline by doing
linux$ my -S
which will generate a long listing containing stuff like
makelib::verbose = TRUE makelib::debug = TRUE makelib::keep_going_after_compile_errors = FALSE
The corresponding settings may be changed via commandline switches like
linux$ my -Cmakelib::verbose=FALSE
These switches may also be listed, printed and set interactively:
linux$ my eval: show_controls(); ... makelib::verbose = TRUE makelib::debug = TRUE makelib::keep_going_after_compile_errors = FALSE ... eval: show_control "makelib::verbose"; TRUE eval: set_control "makelib::verbose" "FALSE"; eval: show_control "makelib::verbose"; FALSE
For a more concrete example of using these switches, try doing:
linux$ cd src/app/tut/test linux$ touch test.pkg linux$ my eval: set_control "typechecker::type_package_language_debugging" "TRUE"; eval: make "test.lib";
This will spew debug printouts of various internal datastructures used by the code in src/lib/compiler/front/typer/main/type-package-language-g.pkg which can be a great help in understanding the code.
Many other compiler modules define similar debugging switches.