Did you know ... Search Documentation:
Pack rtchecks -- prolog/rtchecks_rt.pl
PublicShow source

Algorithm:

pred :- body.

is executed as if where transformed to:

  • *Step one*
    pred :-
         "check entry...",
         "check exit...",
         'pred$rtc1'.
  • *Step two*
    'pred$rtc1' :-
            "check compat pre..."
            "check calls...",
            "check success pre",
            "check comp..."(
            'pred$rtc2',
            "check success pos",
            "check compat pos..."
    
    'pred$rtc2' :-
            body.

    However the current implementation is an interpreter, rather than a compiler, since SWI-Prolog is fully dynamic and the status of a module could change at run-time. A future improvement could be to apply a partial evaluator to the interpreter.

Undocumented predicates

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

 rtchecks_disable
 rtchecks_enable
 rtcheck_pred(Arg1, Arg2, Arg3, Arg4)
 rtcheck_call(Arg1, Arg2, Arg3)
 $with_asr(Arg1, Arg2)
 $with_gloc(Arg1, Arg2)
 $with_ploc(Arg1, Arg2)
 check_call(Arg1, Arg2, Arg3)