1:- if(false). 3:- if( \+ current_predicate( wdmsg/1 )). 4
5:- meta_predicate(with_visible_leash(0)). 6with_visible_leash(G):-
7 '$leash'(A, A),'$visible'(V, V),
8 (tracing->CU=trace;CU=notrace),
9 (debugging->CU2=debug;CU2=nodebug),!,
10 call_cleanup(G, (notrace,'$leash'(_, A),'$visible'(_, V),call(CU2),call(CU))).
11
12:- meta_predicate(rtrace(0)). 13rtrace(G):- with_visible_leash(( notrace,leash(-all),visible(+full),leash(+exception),trace,debug, call(G))).
14
15:- meta_predicate(must(0)). 16must(G):- G *->true;throw(must_failed(G)).
17
18fresh_line:- flush_output,format(user_error,'~N',[]),flush_output.
19
20nop(_).
21
22if_debug(_).
23
24
25:- endif. 26:- endif.