@ciao-lang/ts-ciao-interface
Version:
Simple Ciao interface for node.
15 lines • 7.27 kB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="theme-color" content="#273f79"/><link rel="stylesheet" href="lpdoc.css" type="text/css"/><script type="text/javascript" src="lpdoc.js"></script><title>Byrd box tracing model (library(tracing)) — Run-time Checking, Testing, and Profiling for Ciao</title></head><body><div class="lpdoc-page fixleftbar"><a href="#" id="sidebar-toggle-button" class="lpdoc-navbutton"><span id="sidebar-button-arrow">☰</span></a><div id="sidebar" class="lpdoc-sidebar"><div class="lpdoc-nav"><span class="lpdoc-on-right"><a class="lpdoc-navbutton" href="ciaodbg_ref_man.html">↑</a><a class="lpdoc-navbutton" href="profiler_auto_conf.html">←</a><a class="lpdoc-navbutton" href="byrd.html">→</a><a class="lpdoc-navbutton" href="ciaodbg_ref_mansearch.html">🔍</a></span><span><a href="ciaodbg_ref_manfulltoc.html">TOC</a></span></div><hr></hr><ul class="lpdoc-itemize-sectpath"><li><a href="ciaodbg_ref_man.html">Run-time Checking, Testing, and Profiling for Ciao</a> »<br/> </li><li><a href=""><strong>Byrd box tracing model (library(tracing))</strong></a> ▾<ul><li><a href="byrd.html">Byrd box tracing model</a></li></ul></li></ul><hr></hr><em>ON THIS PAGE</em><ul><li><a href="#Usage and interface">Usage and interface</a></li><li><a href="#Documentation on exports">Documentation on exports</a></li><li><a href="#Documentation on imports">Documentation on imports</a></li></ul></div><div class="lpdoc-main"><div id=""><h1>Byrd box tracing model (library(tracing))</h1><a class="lpdoc-idx-anchor" href="ciaodbg_ref_mansearch.html#traces"></a>
<strong>Author(s):</strong> <a class="lpdoc-idx-anchor" id="Francisco Bueno" href="ciaodbg_ref_mansearch.html#Francisco Bueno">Francisco Bueno</a>.<p>
This module can be used to spy predicates in a program. Spying a predicate means here that messages are displayed at the call, exit, fail and redo ports of the goals in the bodies of the clauses of the predicate spied.<p>In order to spy a predicate using this module a program expansion has to be performed on the program module defining the predicate. This is achieved by the <tt>tracing</tt> package.<p>This library is a programming exercise in CIAO expansion packages. It does not replace the standard interactive debugger, which has more functionality and is better integrated with the emacs mode. However, this library can sometimes be useful because it is more lightweight and allows tracing compiled code.<br/><div id="Usage and interface"><h2>Usage and interface</h2><div class="lpdoc-cartouche"><ul><li><strong>Library usage:</strong><br/><tt>:- use_package(tracing).</tt> <p>in the program module defining the code to be spied; or<p><tt>:- use_module(library(tracing/traces)).</tt> <p>to call the predicates exported by this module.<li><strong>Exports:</strong><br/><ul class="lpdoc-itemize-minus"><li><em>Predicates:</em><br/><a class="lpdoc-idx-anchor" id="0" href="#trace/3"><tt>trace/3</tt></a>.
</ul></ul></div></div><div id="Documentation on exports"><h2>Documentation on exports</h2><div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="spy/1" href="ciaodbg_ref_mansearch.html#spy/1">spy/1</a></div><div class="lpdoc-deftext"><span class="lpdoc-usage-decl"><tt>spy(M:F/A)</tt>
</span><p>Turns spying of predicate <tt>F/A</tt> in module <tt>M</tt> on. Declarations of the form <tt>spy(F/A)</tt> (where <tt>M</tt> is implicitly taken as the module where the declaration appears) can also be used, as long as the <tt>tracing</tt> package is included.</div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="nospy/1" href="ciaodbg_ref_mansearch.html#nospy/1">nospy/1</a></div><div class="lpdoc-deftext"><span class="lpdoc-usage-decl"><tt>nospy(M:F/A)</tt>
</span><p>Turns spying of predicate <tt>F/A</tt> in module <tt>M</tt> off.</div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="trace/3" href="ciaodbg_ref_mansearch.html#trace/3">trace/3</a></div><div class="lpdoc-deftext"><span class="lpdoc-usage-decl"><tt>trace(Goal,F,A)</tt>
</span><p>Displays messages at the ports of <a class="lpdoc-idx-anchor" id="1" href="ciaodbg_ref_mansearch.html#Goal"><tt>Goal</tt></a>, as long as spying is on for predicate <a class="lpdoc-idx-anchor" id="2" href="ciaodbg_ref_mansearch.html#F/A"><tt>F/A</tt></a> (module-name expanded).
<em>Meta-predicate</em> with arguments: <tt>trace(goal,?,?)</tt>.<br/></div></div><p>
</div><div id="Documentation on imports"><h2>Documentation on imports</h2>This module has the following direct dependencies:<ul class="lpdoc-itemize-minus"><li><em>Application modules:</em><br/><a class="lpdoc-idx-anchor" id="3" href="byrd.html"><tt>byrd</tt></a>.
<li><em>System library modules:</em><br/><a class="lpdoc-idx-anchor" id="4" href="ciaodbg_ref_mansearch.html#datafacts_rt"><tt>datafacts_rt</tt></a>.
<li><em>Internal (engine) modules:</em><br/><a class="lpdoc-idx-anchor" id="5" href="ciaodbg_ref_mansearch.html#term_basic"><tt>term_basic</tt></a>, <a class="lpdoc-idx-anchor" id="6" href="ciaodbg_ref_mansearch.html#arithmetic"><tt>arithmetic</tt></a>, <a class="lpdoc-idx-anchor" id="7" href="ciaodbg_ref_mansearch.html#atomic_basic"><tt>atomic_basic</tt></a>, <a class="lpdoc-idx-anchor" id="8" href="ciaodbg_ref_mansearch.html#basiccontrol"><tt>basiccontrol</tt></a>, <a class="lpdoc-idx-anchor" id="9" href="ciaodbg_ref_mansearch.html#exceptions"><tt>exceptions</tt></a>, <a class="lpdoc-idx-anchor" id="10" href="ciaodbg_ref_mansearch.html#term_compare"><tt>term_compare</tt></a>, <a class="lpdoc-idx-anchor" id="11" href="ciaodbg_ref_mansearch.html#term_typing"><tt>term_typing</tt></a>, <a class="lpdoc-idx-anchor" id="12" href="ciaodbg_ref_mansearch.html#debugger_support"><tt>debugger_support</tt></a>, <a class="lpdoc-idx-anchor" id="13" href="ciaodbg_ref_mansearch.html#basic_props"><tt>basic_props</tt></a>, <a class="lpdoc-idx-anchor" id="14" href="ciaodbg_ref_mansearch.html#hiord_rt"><tt>hiord_rt</tt></a>, <a class="lpdoc-idx-anchor" id="15" href="ciaodbg_ref_mansearch.html#internals"><tt>internals</tt></a>.
<li><em>Packages:</em><br/><a class="lpdoc-idx-anchor" id="16" href="ciaodbg_ref_mansearch.html#prelude"><tt>prelude</tt></a>, <a class="lpdoc-idx-anchor" id="17" href="ciaodbg_ref_mansearch.html#initial"><tt>initial</tt></a>, <a class="lpdoc-idx-anchor" id="18" href="ciaodbg_ref_mansearch.html#condcomp"><tt>condcomp</tt></a>, <a class="lpdoc-idx-anchor" id="19" href="ciaodbg_ref_mansearch.html#assertions"><tt>assertions</tt></a>, <a class="lpdoc-idx-anchor" id="20" href="ciaodbg_ref_mansearch.html#assertions/assertions_basic"><tt>assertions/assertions_basic</tt></a>, <a class="lpdoc-idx-anchor" id="21" href="ciaodbg_ref_mansearch.html#hiord"><tt>hiord</tt></a>, <a class="lpdoc-idx-anchor" id="22" href="ciaodbg_ref_mansearch.html#datafacts"><tt>datafacts</tt></a>.
</ul></div></div><div class="lpdoc-footer">Generated with LPdoc using Ciao</div></div><div class="lpdoc-clearer"></div></div></body></html>