Did you know ... Search Documentation:
Pack must_trace -- prolog/must_trace.pl
PublicShow source
 must(:Goal) is nondet
Goal must succeed at least once once

Wrap must/1 over parts of your code you do not trust If your code fails.. it will rewind to your entry block (at the scope of this declaration) and invoke rtrace/1 . If there are 50 steps to your code, it will save you from pushing creep 50 times. Instead it turns off the leash to allow you to trace with your eyeballs instead of your fingers.

% must( :Goal) is semidet.

Must Be Successfull.

 sanity(:Goal) is det
Optional Sanity Checking.

like assertion/1 but adds trace control

 must_once(:Goal) is det
Goal must succeed at most once
 must_det(:Goal) is det
Goal must succeed determistically
 nop(:Goal) is det
Comments out code without losing syntax

Re-exported predicates

The following predicates are re-exported from other modules

 debug(+Topic, +Format, :Args) is det
Format a message if debug topic is enabled. Similar to format/3 to user_error, but only prints if Topic is activated through debug/1. Args is a meta-argument to deal with goal for the @-command. Output is first handed to the hook prolog:debug_print_hook/3. If this fails, Format+Args is translated to text using the message-translation (see print_message/2) for the term debug(Format, Args) and then printed to every matching destination (controlled by debug/1) using print_message_lines/3.

The message is preceded by '% ' and terminated with a newline.

See also
- format/3.

Undocumented predicates

The following predicates are exported, but not or incorrectly documented.

 scce_orig(Arg1, Arg2, Arg3)
 must_or_rtrace(Arg1)