mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-10 19:33:11 +00:00
Estimated hours taken: 4 Optionally test the extras directory during bootchecks. tools/bootcheck Add an option, -e, for testing the extras directory. Rename the -T/--test-only option as -n/--no-bootcheck, since it does not prevent the testing of the extras. Bootcheck only test the subdirectories in extras which have an Mmakefile and which can be tested in all grades and in all setups. extras/*/Mmakefile: Updates to include extras/Mmake.params if it exists (to get the parameters, including grades, of the bootcheck) and to add a check target, which in most cases does not do anything yet (which means that the only testing we do is checking that the program compiles all right). Making "mmake check" do something meaningful will be up to the authors of the various subdirectories involved. In many cases, add .PHONY annotations on the relevant targets, and copyright notices. extras/aditi/NOBOOTTEST: Prevent the automatic testing of the aditi subdirectory from bootcheck, since this can be done only on a machine with Aditi installed. extras/aditi/NOBOOTTEST: Prevent the automatic testing of the aditi subdirectory from bootcheck, since this can be done only on a machine with Aditi installed. extras/aditi/NOBOOTTEST: Prevent the automatic testing of this subdirectory from bootcheck, since this can be done only on a machine with Aditi installed. extras/dynamic_linking/NOBOOTTEST: Prevent the automatic testing of this subdirectory from bootcheck, since this can be done only on a machine with the dl library already installed. extras/logged_out/NOBOOTTEST: Prevent the automatic testing of this subdirectory from bootcheck, since this can be done only in grades with the right kind of stream support. extras/odbc/NOBOOTTEST: Prevent the automatic testing of this subdirectory from bootcheck, since this can be done only on a machine with ODBC installed. extras/references/NOBOOTTEST: extras/trailed_update/NOBOOTTEST: Prevent the automatic testing of this subdirectory from bootcheck, since this can be done only in trailing grades. extras/*/.nocopyright: Mention the NOBOOTTEST files in the relevant .nocopyright files.
This directory contains two impure reference type modules, and a module that allows scoped non-backtrackable update, plus two example modules using these types. These serve as an example of impure coding. Generally this sort of coding is not necessary, and it can be quite tedious and error-prone, but occasionally it may permit greater efficiency than using pure Mercury code, or may permit you to write in Mercury what you would otherwise have to write in C. See the "Impurity declarations" chapter of the Mercury Language Reference Manual for more information on impurity. This directory contains reference.m a backtrackable reference types nb_reference.m a non-backtrackable reference types scoped_update.m scoping for non-backtrackable updates global.m a wrapper module used for building a library containing the above modules c_reference.h C types used to implement the reference types The samples directory contains max_of.m an example of non-backtrackable references test_max.m test case for max_of.m The tests directory contains ref_test.m tests of reference.m, nb_reference.m and scoped_update.m glob_test.m tests use of c_reference.h to implement global variables