Leashing allows the user to control execution while tracing for goals that are not spied. Spied goals cause execution to enter a debugging command loop whenever they are reached. Leashing provides the same functionality for unspied goals. A user may choose to enter a debugging command loop at any subset of ports by using
(leash <
events
>
) where
events
may be: call, redo, exit, fail. Leashing may be turned off using
(unleash)
.
KnowledgeWorks and Prolog User Guide (Unix version) - 6 Dec 2011