See the Mercury language reference manual for detailed explanations of these options.
Execute conjunctions left-to-right except where the modes imply that reordering is unavoidable.
Execute disjunctions strictly left-to-right.
Allow infinite loops or goals with determinism erroneous to be optimised away.
Allow procedures to have no clauses. Any calls to such procedures will raise an exception at run-time. This option is sometimes useful during program development. (See also the documentation for the ‘--warn-stubs’ option in Warning options.)
An abbreviation for ‘--infer-types --infer-modes --infer-det’.
If there is no type declaration for a predicate or function, try to infer the type, rather than just reporting an error.
If there is no mode declaration for a predicate, try to infer the modes, rather than just reporting an error.
If there is no determinism declaration for a procedure, don’t try to infer the determinism, just report an error.
Perform at most n passes of type inference (default: 60).
Perform at most n passes of mode inference (default: 30).