@ciao-lang/ts-ciao-interface
Version:
Simple Ciao interface for node.
122 lines • 36.9 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>Frontend driver (monolithic) — The CiaoPP Program Processor v1.5</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 style="height: 40px; margin-left: auto; margin-right: auto"><img src="ciao-logo_autofig.png" width=auto height=100%></div><div class="lpdoc-nav"><span class="lpdoc-on-right"><a class="lpdoc-navbutton" href="part_internals.html">↑</a><a class="lpdoc-navbutton" href="part_internals.html">←</a><a class="lpdoc-navbutton" href="raw_printer.html">→</a><a class="lpdoc-navbutton" href="ciaopp_ref_mansearch.html">🔍</a></span><span><a href="ciaopp_ref_manfulltoc.html">TOC</a></span></div><hr></hr><ul class="lpdoc-itemize-sectpath"><li><a href="ciaopp_ref_man.html">The CiaoPP Program Processor</a> »<br/> </li><li><a href="part_internals.html">PART IV - CiaoPP Internals</a> »<br/> </li><li><a href=""><strong>Frontend driver (monolithic)</strong></a> ▾<ul><li><a href="raw_printer.html">Advanced output of preprocessor</a></li></ul></li></ul><hr></hr><em>ON THIS PAGE</em><ul><li><a href="#Adding new frontend">Adding new frontend</a></li><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 multifiles">Documentation on multifiles</a></li><li><a href="#Documentation on imports">Documentation on imports</a></li></ul></div><div class="lpdoc-main"><div id=""><h1>Frontend driver (monolithic)</h1><a class="lpdoc-idx-anchor" href="ciaopp_ref_mansearch.html#frontend_driver"></a>
This module provides the main entry points for loading source programs (in a suitable form for performing analysis and transformations) and print them back as source.<p><div id="Adding new frontend"><h2>Adding new frontend</h2> <p>(to be written) </div><br/><div id="Usage and interface"><h2>Usage and interface</h2><div class="lpdoc-cartouche"><ul><li><strong>Library usage:</strong><br/><tt>:- use_module(ciaopp(frontend_driver))</tt>. This module is loaded by default in the CiaoPP toplevel and reexported from the <a class="lpdoc-idx-anchor" id="0" href="ciaopp.html"><tt>ciaopp</tt></a> module.<li><strong>Exports:</strong><br/><ul class="lpdoc-itemize-minus"><li><em>Predicates:</em><br/><a class="lpdoc-idx-anchor" id="1" href="#supported_language/1"><tt>supported_language/1</tt></a>, <a class="lpdoc-idx-anchor" id="2" href="#language_extension/2"><tt>language_extension/2</tt></a>, <a class="lpdoc-idx-anchor" id="3" href="#language_output_extension/2"><tt>language_output_extension/2</tt></a>, <a class="lpdoc-idx-anchor" id="4" href="ciaopp.html#module/1"><tt>module/1</tt></a>, <a class="lpdoc-idx-anchor" id="5" href="#module/2"><tt>module/2</tt></a>, <a class="lpdoc-idx-anchor" id="6" href="#entry_assertion/3"><tt>entry_assertion/3</tt></a>, <a class="lpdoc-idx-anchor" id="7" href="#assrt_used_as_entry/2"><tt>assrt_used_as_entry/2</tt></a>, <a class="lpdoc-idx-anchor" id="8" href="#is_library/1"><tt>is_library/1</tt></a>, <a class="lpdoc-idx-anchor" id="9" href="#cleanup_history/0"><tt>cleanup_history/0</tt></a>, <a class="lpdoc-idx-anchor" id="10" href="#push_history/1"><tt>push_history/1</tt></a>, <a class="lpdoc-idx-anchor" id="11" href="#pop_history/1"><tt>pop_history/1</tt></a>, <a class="lpdoc-idx-anchor" id="12" href="#get_output_path/2"><tt>get_output_path/2</tt></a>, <a class="lpdoc-idx-anchor" id="13" href="ciaopp.html#output/0"><tt>output/0</tt></a>, <a class="lpdoc-idx-anchor" id="14" href="ciaopp.html#output/1"><tt>output/1</tt></a>, <a class="lpdoc-idx-anchor" id="15" href="#output/2"><tt>output/2</tt></a>, <a class="lpdoc-idx-anchor" id="16" href="#output_ext/1"><tt>output_ext/1</tt></a>, <a class="lpdoc-idx-anchor" id="17" href="#output_by_ext/2"><tt>output_by_ext/2</tt></a>, <a class="lpdoc-idx-anchor" id="18" href="#write_one_type/2"><tt>write_one_type/2</tt></a>, <a class="lpdoc-idx-anchor" id="19" href="#ensure_libcache_loaded/0"><tt>ensure_libcache_loaded/0</tt></a>, <a class="lpdoc-idx-anchor" id="20" href="#gen_and_load_libcache/0"><tt>gen_and_load_libcache/0</tt></a>.
<li><em>Multifiles:</em><br/><a class="lpdoc-idx-anchor" id="21" href="#hook_compact_global_prop/2"><tt>hook_compact_global_prop/2</tt></a>, <a class="lpdoc-idx-anchor" id="22" href="#hook_compact_calls_prop/2"><tt>hook_compact_calls_prop/2</tt></a>, <a class="lpdoc-idx-anchor" id="23" href="#hook_native_prop/2"><tt>hook_native_prop/2</tt></a>, <a class="lpdoc-idx-anchor" id="24" href="#hook_pp_info_clause/3"><tt>hook_pp_info_clause/3</tt></a>, <a class="lpdoc-idx-anchor" id="25" href="#hook_pp_info_lit/4"><tt>hook_pp_info_lit/4</tt></a>, <a class="lpdoc-idx-anchor" id="26" href="#hook_legal_regtype/1"><tt>hook_legal_regtype/1</tt></a>, <a class="lpdoc-idx-anchor" id="27" href="#hook_insert_regtype/2"><tt>hook_insert_regtype/2</tt></a>, <a class="lpdoc-idx-anchor" id="28" href="#hook_post_init_regtypes/0"><tt>hook_post_init_regtypes/0</tt></a>, <a class="lpdoc-idx-anchor" id="29" href="#hook_cleanup_lib_regtypes/0"><tt>hook_cleanup_lib_regtypes/0</tt></a>, <a class="lpdoc-idx-anchor" id="30" href="#hook_restore_lib_regtypes/1"><tt>hook_restore_lib_regtypes/1</tt></a>, <a class="lpdoc-idx-anchor" id="31" href="#hook_save_lib_regtypes/1"><tt>hook_save_lib_regtypes/1</tt></a>, <a class="lpdoc-idx-anchor" id="32" href="#file_search_path/2"><tt>file_search_path/2</tt></a>, <a class="lpdoc-idx-anchor" id="33" href="#library_directory/1"><tt>library_directory/1</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="supported_language/1" href="ciaopp_ref_mansearch.html#supported_language/1">supported_language/1</a></div><div class="lpdoc-deftext"><span class="lpdoc-usage-decl"><tt>supported_language(L)</tt>
</span><p>Indicates that a translation is available from language <span class="lpdoc-var">L</span> to Ciao Prolog language.</div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="language_extension/2" href="ciaopp_ref_mansearch.html#language_extension/2">language_extension/2</a></div><div class="lpdoc-deftext"><span class="lpdoc-usage-decl"><tt>language_extension(L,E)</tt>
</span><p><span class="lpdoc-var">E</span> is an extension (including the dot) for files that must be translated from language <span class="lpdoc-var">L</span> to Ciao.</div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="language_output_extension/2" href="ciaopp_ref_mansearch.html#language_output_extension/2">language_output_extension/2</a></div><div class="lpdoc-deftext"><span class="lpdoc-usage-decl"><tt>language_output_extension(L,E)</tt>
</span><p><span class="lpdoc-var">E</span> is the extension of the file produced as output by the Ciao printer for language <span class="lpdoc-var">L</span>.</div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="module/1" href="ciaopp_ref_mansearch.html#module/1">module/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage 1:</span><span class="lpdoc-usage-decl"><tt>module(FileName)</tt>
</span><p>Reads the code of <span class="lpdoc-var">FileName</span> and its preprocessing unit, and sets it as the current module.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="34" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">FileName</span> is currently a term which is not a free variable.
</span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="35" href="ciaopp_ref_mansearch.html#sourcename/1"><tt>sourcename/1</tt></a>)</span><span><span class="lpdoc-var">FileName</span> is a source name.
</span>
</ul><p><span class="lpdoc-usage-header">Usage 2:</span><span class="lpdoc-usage-decl"><tt>module(FileNameList)</tt>
</span><p>Reads the code of the list of file names <span class="lpdoc-var">FileNameList</span> (and their preprocessing units), and sets them as the current modules.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="36" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">FileNameList</span> is currently a term which is not a free variable.
</span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="37" href="basic_props.html#list/2"><tt>list/2</tt></a>)</span><span><span class="lpdoc-var">FileNameList</span> is a list of <span class="lpdoc-var">atm</span>s.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="module/2" href="ciaopp_ref_mansearch.html#module/2">module/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>module(Ms,Info)</tt>
</span><p>Same as <a class="lpdoc-idx-anchor" id="38" href="ciaopp.html#module/1"><tt>module/1</tt></a> but it also prints the time required to read the module and returns extra information (including the time) on its second argument.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="39" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">Ms</span> is currently a term which is not a free variable.
</span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="40" href="ciaopp_ref_mansearch.html#var/1"><tt>var/1</tt></a>)</span><span><span class="lpdoc-var">Info</span> is a free variable.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="entry_assertion/3" href="ciaopp_ref_mansearch.html#entry_assertion/3">entry_assertion/3</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>entry_assertion(Goal,Call,Name)</tt>
</span><p>There is an entry assertion for <span class="lpdoc-var">Goal</span> with call pattern <span class="lpdoc-var">Call</span>, uniquely identifiable by <span class="lpdoc-var">Name</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold upon exit:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="41" href="basic_props.html#cgoal/1"><tt>cgoal/1</tt></a>)</span><span><span class="lpdoc-var">Goal</span> is a term which represents a goal, i.e., an atom or a structure.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="assrt_used_as_entry/2" href="ciaopp_ref_mansearch.html#assrt_used_as_entry/2">assrt_used_as_entry/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>assrt_used_as_entry(Sg,AssrtType)</tt>
</span><p>Assertion with head <span class="lpdoc-var">Sg</span> and assertion type <span class="lpdoc-var">AssrtType</span> is used as an analysis entry (depending on values of <tt>entry_points_auto</tt> and <tt>entry_calls_scope</tt>).</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="42" href="basic_props.html#cgoal/1"><tt>cgoal/1</tt></a>)</span><span><span class="lpdoc-var">Sg</span> is a term which represents a goal, i.e., an atom or a structure.
</span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="43" href="basic_props.html#atm/1"><tt>atm/1</tt></a>)</span><span><span class="lpdoc-var">AssrtTYpe</span> is an atom.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="is_library/1" href="ciaopp_ref_mansearch.html#is_library/1">is_library/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>is_library(Base)</tt>
</span><p></p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="44" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">Base</span> is currently a term which is not a free variable.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="cleanup_history/0" href="ciaopp_ref_mansearch.html#cleanup_history/0">cleanup_history/0</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><p>Cleanup history items.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="push_history/1" href="ciaopp_ref_mansearch.html#push_history/1">push_history/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>push_history(X)</tt>
</span><p>Push history item <span class="lpdoc-var">X</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="45" href="ciaopp_ref_mansearch.html#atom/1"><tt>atom/1</tt></a>)</span><span><span class="lpdoc-var">X</span> is currently instantiated to an atom.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="pop_history/1" href="ciaopp_ref_mansearch.html#pop_history/1">pop_history/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>pop_history(X)</tt>
</span><p>Pop history item <span class="lpdoc-var">X</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="46" href="ciaopp_ref_mansearch.html#atom/1"><tt>atom/1</tt></a>)</span><span><span class="lpdoc-var">X</span> is currently instantiated to an atom.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="get_output_path/2" href="ciaopp_ref_mansearch.html#get_output_path/2">get_output_path/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>get_output_path(UseHistory,Path)</tt>
</span><p>Default output file name based. Encode analysis/transformation history if <span class="lpdoc-var">UseHistory</span> is <tt>yes</tt>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold upon exit:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="47" href="basic_props.html#atm/1"><tt>atm/1</tt></a>)</span><span><span class="lpdoc-var">UseHistory</span> is an atom.
</span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="48" href="basic_props.html#atm/1"><tt>atm/1</tt></a>)</span><span><span class="lpdoc-var">Path</span> is an atom.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output/0" href="ciaopp_ref_mansearch.html#output/0">output/0</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><p>Outputs the current module preprocessing state with the default output options. Equivalent to <tt>output(File,[])</tt>.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output/1" href="ciaopp_ref_mansearch.html#output/1">output/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>output(File)</tt>
</span><p>Outputs to <span class="lpdoc-var">File</span> the current module preprocessing state with the default output options. If unbound, <span class="lpdoc-var">File</span> is unified with a default name (encoding the preprocessing steps). Equivalent to <tt>output(File,[])</tt>.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output/2" href="ciaopp_ref_mansearch.html#output/2">output/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>output(File,Opts)</tt>
</span><p>Outputs the current module preprocessing state to a file <span class="lpdoc-var">File</span>. If unbound, <span class="lpdoc-var">File</span> is unified with a default name (encoding the preprocessing steps). The output format (which should be valid for the loaded program) is guessed from the file extension. <span class="lpdoc-var">Opts</span> is a list of options for this predicate (see <a class="lpdoc-idx-anchor" id="49" href="ciaopp_ref_mansearch.html#output_option/1"><tt>output_option/1</tt></a>)</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="50" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">Opts</span> is currently a term which is not a free variable.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output_ext/1" href="ciaopp_ref_mansearch.html#output_ext/1">output_ext/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>output_ext(Ext)</tt>
</span><p>Extension <span class="lpdoc-var">Ext</span> is a supported output extension.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="51" href="basic_props.html#atm/1"><tt>atm/1</tt></a>)</span><span><span class="lpdoc-var">Ext</span> is an atom.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output_by_ext/2" href="ciaopp_ref_mansearch.html#output_by_ext/2">output_by_ext/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>output_by_ext(Ext,File)</tt>
</span><p>Produce output <span class="lpdoc-var">File</span> for the given extension <span class="lpdoc-var">Ext</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="52" href="basic_props.html#atm/1"><tt>atm/1</tt></a>)</span><span><span class="lpdoc-var">Ext</span> is an atom.
</span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="53" href="ciaopp_ref_mansearch.html#sourcename/1"><tt>sourcename/1</tt></a>)</span><span><span class="lpdoc-var">File</span> is a source name.
</span>
</ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="write_one_type/2" href="ciaopp_ref_mansearch.html#write_one_type/2">write_one_type/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.</div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="ensure_libcache_loaded/0" href="ciaopp_ref_mansearch.html#ensure_libcache_loaded/0">ensure_libcache_loaded/0</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><p>Ensure that the libcache is loaded (if <tt>use_libcache</tt> is enabled and the cache is generated) (see <a class="lpdoc-idx-anchor" id="54" href="ciaopp_ref_mansearch.html#p_unit:load_libcache/1"><tt>p_unit:load_libcache/1</tt></a>).</p><ul class="lpdoc-itemize-minus"></ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="gen_and_load_libcache/0" href="ciaopp_ref_mansearch.html#gen_and_load_libcache/0">gen_and_load_libcache/0</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><p>Generate and load the libcache (see <a class="lpdoc-idx-anchor" id="55" href="ciaopp_ref_mansearch.html#p_unit:gen_libcache/1"><tt>p_unit:gen_libcache/1</tt></a>).</p><ul class="lpdoc-itemize-minus"></ul></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="get_data/2" href="ciaopp_ref_mansearch.html#get_data/2">get_data/2</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="56" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="clean_ciaopp_db/1" href="ciaopp_ref_mansearch.html#clean_ciaopp_db/1">clean_ciaopp_db/1</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="57" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="clean_all_ciaopp_db/0" href="ciaopp_ref_mansearch.html#clean_all_ciaopp_db/0">clean_all_ciaopp_db/0</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="58" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="dump/2" href="ciaopp_ref_mansearch.html#dump/2">dump/2</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="59" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="dump_dir/1" href="ciaopp_ref_mansearch.html#dump_dir/1">dump_dir/1</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="60" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="add_to_db/1" href="ciaopp_ref_mansearch.html#add_to_db/1">add_to_db/1</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="61" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="show_dump/1" href="ciaopp_ref_mansearch.html#show_dump/1">show_dump/1</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="62" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="restore/2" href="ciaopp_ref_mansearch.html#restore/2">restore/2</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="63" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="restore/1" href="ciaopp_ref_mansearch.html#restore/1">restore/1</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="64" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="dump/1" href="ciaopp_ref_mansearch.html#dump/1">dump/1</a></div><div class="lpdoc-deftext">
Imported from <a class="lpdoc-idx-anchor" id="65" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a> (see the corresponding documentation for details).<br/></div></div><p>
</div><div id="Documentation on multifiles"><h2>Documentation on multifiles</h2><div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_compact_global_prop/2" href="ciaopp_ref_mansearch.html#hook_compact_global_prop/2">hook_compact_global_prop/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_compact_calls_prop/2" href="ciaopp_ref_mansearch.html#hook_compact_calls_prop/2">hook_compact_calls_prop/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_native_prop/2" href="ciaopp_ref_mansearch.html#hook_native_prop/2">hook_native_prop/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_pp_info_clause/3" href="ciaopp_ref_mansearch.html#hook_pp_info_clause/3">hook_pp_info_clause/3</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_pp_info_lit/4" href="ciaopp_ref_mansearch.html#hook_pp_info_lit/4">hook_pp_info_lit/4</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_legal_regtype/1" href="ciaopp_ref_mansearch.html#hook_legal_regtype/1">hook_legal_regtype/1</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_insert_regtype/2" href="ciaopp_ref_mansearch.html#hook_insert_regtype/2">hook_insert_regtype/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_post_init_regtypes/0" href="ciaopp_ref_mansearch.html#hook_post_init_regtypes/0">hook_post_init_regtypes/0</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_cleanup_lib_regtypes/0" href="ciaopp_ref_mansearch.html#hook_cleanup_lib_regtypes/0">hook_cleanup_lib_regtypes/0</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_restore_lib_regtypes/1" href="ciaopp_ref_mansearch.html#hook_restore_lib_regtypes/1">hook_restore_lib_regtypes/1</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="hook_save_lib_regtypes/1" href="ciaopp_ref_mansearch.html#hook_save_lib_regtypes/1">hook_save_lib_regtypes/1</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="file_search_path/2" href="ciaopp_ref_mansearch.html#file_search_path/2">file_search_path/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/>
The predicate is of type <em>dynamic</em>.<br/></div></div><p>
<div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="library_directory/1" href="ciaopp_ref_mansearch.html#library_directory/1">library_directory/1</a></div><div class="lpdoc-deftext">No further documentation available for this predicate.
The predicate is <em>multifile</em>.<br/>
The predicate is of type <em>dynamic</em>.<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="66" href="ciaopp_ref_mansearch.html#ciaopp_log"><tt>ciaopp_log</tt></a>, <a class="lpdoc-idx-anchor" id="67" href="ciaopp_ref_mansearch.html#analysis_stats"><tt>analysis_stats</tt></a>, <a class="lpdoc-idx-anchor" id="68" href="preprocess_flags.html"><tt>preprocess_flags</tt></a>, <a class="lpdoc-idx-anchor" id="69" href="incanal.html"><tt>incanal</tt></a>, <a class="lpdoc-idx-anchor" id="70" href="analyze_driver.html"><tt>analyze_driver</tt></a>, <a class="lpdoc-idx-anchor" id="71" href="ciaopp_ref_mansearch.html#intermod_ops"><tt>intermod_ops</tt></a>, <a class="lpdoc-idx-anchor" id="72" href="transform_driver.html"><tt>transform_driver</tt></a>, <a class="lpdoc-idx-anchor" id="73" href="raw_printer.html"><tt>raw_printer</tt></a>, <a class="lpdoc-idx-anchor" id="74" href="ciaopp_ref_mansearch.html#p_dump"><tt>p_dump</tt></a>, <a class="lpdoc-idx-anchor" id="75" href="ciaopp_ref_mansearch.html#prepare_ai_output"><tt>prepare_ai_output</tt></a>, <a class="lpdoc-idx-anchor" id="76" href="ciaopp_ref_mansearch.html#infer_db"><tt>infer_db</tt></a>, <a class="lpdoc-idx-anchor" id="77" href="ciaopp_ref_mansearch.html#infer_dom"><tt>infer_dom</tt></a>.
<li><em>System library modules:</em><br/><a class="lpdoc-idx-anchor" id="78" href="ciaopp_ref_mansearch.html#native_props"><tt>native_props</tt></a>, <a class="lpdoc-idx-anchor" id="79" href="ciaopp_ref_mansearch.html#datafacts_rt"><tt>datafacts_rt</tt></a>, <a class="lpdoc-idx-anchor" id="80" href="p_unit.html"><tt>p_unit</tt></a>, <a class="lpdoc-idx-anchor" id="81" href="ciaopp_ref_mansearch.html#p_printer"><tt>p_printer</tt></a>, <a class="lpdoc-idx-anchor" id="82" href="ciaopp_ref_mansearch.html#aggregates"><tt>aggregates</tt></a>, <a class="lpdoc-idx-anchor" id="83" href="ciaopp_ref_mansearch.html#unexpand"><tt>unexpand</tt></a>, <a class="lpdoc-idx-anchor" id="84" href="ciaopp_ref_mansearch.html#p_unit_db"><tt>p_unit_db</tt></a>, <a class="lpdoc-idx-anchor" id="85" href="ciaopp_ref_mansearch.html#assrt_lib"><tt>assrt_lib</tt></a>, <a class="lpdoc-idx-anchor" id="86" href="native.html"><tt>native</tt></a>, <a class="lpdoc-idx-anchor" id="87" href="ciaopp_ref_mansearch.html#typeslib"><tt>typeslib</tt></a>, <a class="lpdoc-idx-anchor" id="88" href="ciaopp_ref_mansearch.html#system"><tt>system</tt></a>, <a class="lpdoc-idx-anchor" id="89" href="ciaopp_ref_mansearch.html#pathnames"><tt>pathnames</tt></a>, <a class="lpdoc-idx-anchor" id="90" href="ciaopp_ref_mansearch.html#lists"><tt>lists</tt></a>, <a class="lpdoc-idx-anchor" id="91" href="ciaopp_ref_mansearch.html#pretty_print"><tt>pretty_print</tt></a>, <a class="lpdoc-idx-anchor" id="92" href="ciaopp_ref_mansearch.html#messages"><tt>messages</tt></a>, <a class="lpdoc-idx-anchor" id="93" href="ciaopp_ref_mansearch.html#terms"><tt>terms</tt></a>, <a class="lpdoc-idx-anchor" id="94" href="ciaopp_ref_mansearch.html#format"><tt>format</tt></a>, <a class="lpdoc-idx-anchor" id="95" href="ciaopp_ref_mansearch.html#sort"><tt>sort</tt></a>, <a class="lpdoc-idx-anchor" id="96" href="ciaopp_ref_mansearch.html#terms_vars"><tt>terms_vars</tt></a>, <a class="lpdoc-idx-anchor" id="97" href="ciaopp_ref_mansearch.html#formulae"><tt>formulae</tt></a>.
<li><em>Internal (engine) modules:</em><br/><a class="lpdoc-idx-anchor" id="98" href="ciaopp_ref_mansearch.html#term_basic"><tt>term_basic</tt></a>, <a class="lpdoc-idx-anchor" id="99" href="ciaopp_ref_mansearch.html#arithmetic"><tt>arithmetic</tt></a>, <a class="lpdoc-idx-anchor" id="100" href="ciaopp_ref_mansearch.html#atomic_basic"><tt>atomic_basic</tt></a>, <a class="lpdoc-idx-anchor" id="101" href="ciaopp_ref_mansearch.html#basiccontrol"><tt>basiccontrol</tt></a>, <a class="lpdoc-idx-anchor" id="102" href="ciaopp_ref_mansearch.html#exceptions"><tt>exceptions</tt></a>, <a class="lpdoc-idx-anchor" id="103" href="ciaopp_ref_mansearch.html#term_compare"><tt>term_compare</tt></a>, <a class="lpdoc-idx-anchor" id="104" href="ciaopp_ref_mansearch.html#term_typing"><tt>term_typing</tt></a>, <a class="lpdoc-idx-anchor" id="105" href="ciaopp_ref_mansearch.html#debugger_support"><tt>debugger_support</tt></a>, <a class="lpdoc-idx-anchor" id="106" href="basic_props.html"><tt>basic_props</tt></a>, <a class="lpdoc-idx-anchor" id="107" href="ciaopp_ref_mansearch.html#hiord_rt"><tt>hiord_rt</tt></a>, <a class="lpdoc-idx-anchor" id="108" href="ciaopp_ref_mansearch.html#internals"><tt>internals</tt></a>, <a class="lpdoc-idx-anchor" id="109" href="ciaopp_ref_mansearch.html#runtime_control"><tt>runtime_control</tt></a>, <a class="lpdoc-idx-anchor" id="110" href="ciaopp_ref_mansearch.html#stream_basic"><tt>stream_basic</tt></a>, <a class="lpdoc-idx-anchor" id="111" href="ciaopp_ref_mansearch.html#io_basic"><tt>io_basic</tt></a>.
<li><em>Packages:</em><br/><a class="lpdoc-idx-anchor" id="112" href="ciaopp_ref_mansearch.html#prelude"><tt>prelude</tt></a>, <a class="lpdoc-idx-anchor" id="113" href="ciaopp_ref_mansearch.html#initial"><tt>initial</tt></a>, <a class="lpdoc-idx-anchor" id="114" href="ciaopp_ref_mansearch.html#condcomp"><tt>condcomp</tt></a>, <a class="lpdoc-idx-anchor" id="115" href="assertions_doc.html"><tt>assertions</tt></a>, <a class="lpdoc-idx-anchor" id="116" href="ciaopp_ref_mansearch.html#assertions/assertions_basic"><tt>assertions/assertions_basic</tt></a>, <a class="lpdoc-idx-anchor" id="117" href="ciaopp_ref_mansearch.html#basicmodes"><tt>basicmodes</tt></a>, <a class="lpdoc-idx-anchor" id="118" href="regtypes_doc.html"><tt>regtypes</tt></a>, <a class="lpdoc-idx-anchor" id="119" href="ciaopp_ref_mansearch.html#nativeprops"><tt>nativeprops</tt></a>, <a class="lpdoc-idx-anchor" id="120" href="ciaopp_ref_mansearch.html#hiord"><tt>hiord</tt></a>, <a class="lpdoc-idx-anchor" id="121" href="ciaopp_ref_mansearch.html#datafacts"><tt>datafacts</tt></a>, <a class="lpdoc-idx-anchor" id="122" href="ciaopp_ref_mansearch.html#ciaopp(ciaopp_options)"><tt>ciaopp(ciaopp_options)</tt></a>, <a class="lpdoc-idx-anchor" id="123" href="ciaopp_ref_mansearch.html#compiler/p_unit/p_unit_argnames"><tt>compiler/p_unit/p_unit_argnames</tt></a>, <a class="lpdoc-idx-anchor" id="124" href="ciaopp_ref_mansearch.html#argnames"><tt>argnames</tt></a>.
</ul></div></div><div class="lpdoc-footer">Generated with LPdoc using Ciao</div></div><div class="lpdoc-clearer"></div></div></body></html>