The "Simple" and "Verbose" Versions of the Refiner

For each version of the term module two versions of the refiner can be built - a "simple" and a "verbose" one. The verbose version tries to keep track and raise verbose exceptions while simple version usually raises a "generic" exception (take a look at the REF_RAISE macro in refiner/refsig/refine_error.mlh).

The verbose version contains more debugging code and produces more verbose error messages. As a result, verbose version is great for debugging, but sometimes it is much slower. To get the verbose version, set REFINER to be VERBOSE in mk/config and to get the simple version, set REFINER to be SIMPLE.

Since the simple and verbose versions of the refiner files are very similar, we use a preprocessor to generate them. For the verbose version, the refiner files are preprocessed with the VERBOSE_EXN macro defined and for the simple version - with the SIMPLE_EXN macro defined.