UNPKG

@ciao-lang/ts-ciao-interface

Version:

Simple Ciao interface for node.

4 lines 7.04 kB
<!DOCTYPE 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>The lpdoc Documentation Generator v3.5</title></head><body><div class="lpdoc-page fixleftbar"><a href="#" id="sidebar-toggle-button" class="lpdoc-navbutton"><span id="sidebar-button-arrow">&#9776;</span></a><div id="sidebar" class="lpdoc-sidebar"><div style="height: 40px; margin-left: auto; margin-right: auto"><img src="lpdoc-logo-128_autofig.png" width=auto height=100%></div><div class="lpdoc-nav"><span class="lpdoc-on-right"><a class="lpdoc-navbutton" href="/">&#x2302;</a><span class="lpdoc-navbutton-disabled">&#x2190;</span><a class="lpdoc-navbutton" href="lpdoc_ref_mancopyright.html">&#x2192;</a><a class="lpdoc-navbutton" href="lpdoc_ref_mansearch.html">&#x1F50D;</a></span><span><a href="lpdoc_ref_manfulltoc.html">TOC</a></span></div><hr></hr><ul class="lpdoc-itemize-sectpath"><li><a href=""><strong>The lpdoc Documentation Generator</strong></a> &#9662;<ul><li><a href="lpdoc_ref_manintro.html">Introduction</a></li><li><a href="Generating.html">Generating and accessing manuals</a></li><li><a href="Writing.html">Writing documentation</a></li><li><a href="comments.html">Documentation mark-up language and doc declarations</a></li><li><a href="Markdown.html">Documentation markdown language</a></li><li><a href="assertions_doc.html">The Ciao assertion language</a></li><li><a href="lpdoc_examples.html">An example - Documenting a library module</a></li><li><a href="Runnables.html">Including Editable and Runnable Examples</a></li></ul></li></ul><hr></hr><ul><li><a href="lpdoc_ref_manchanges.html">Version/Change Log</a></li><li><a href="lpdoc_ref_manrefs.html">References</a></li><li><a href="lpdoc_ref_mancopyright.html">Copyright</a></li></ul></div><div class="lpdoc-main"><div><br/><div class="lpdoc-cover-title"><h1 class="lpdoc-cover-h1">The lpdoc Documentation Generator</h1>An Automatic Documentation Generator for (C)LP Systems<br/></div><div class="lpdoc-cover-authors"><strong>Edited by:</strong><br/>Manuel Hermenegildo<br/>Jose F. Morales<br/></div><div class="lpdoc-cover-subtitle-extra">REFERENCE MANUAL<br/><strong>The Ciao Documentation Series</strong><br/><a href="https://ciao-lang.org/">https://ciao-lang.org/</a><br/><em>Generated/Printed on:</em> 2023/7/22<br/>Technical Report CLIP 5/97.1-3.5<br/>Version 3.5 (2022/3/2, 20:34:30 CET)<br/></div><div class="lpdoc-clearer"></div></div> <br/><br/><div id="Summary"> <a class="lpdoc-idx-anchor" id="0" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> is an <em>automatic program documentation generator</em> for (C)LP systems.<p><a class="lpdoc-idx-anchor" id="1" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> generates a reference manual automatically from one or more source files for a logic program (including ISO-Prolog, Ciao, and other CLP systems). It is particularly useful for documenting library modules, for which it automatically generates a description of the module interface. However, <a class="lpdoc-idx-anchor" id="2" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> can also be used quite successfully to document full applications and to generate nicely formatted plain ascii ``readme&apos;&apos; files. A fundamental advantage of using <a class="lpdoc-idx-anchor" id="3" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> to document programs is that it is much easier to maintain a true correspondence between the program and its documentation, and to identify precisely to what version of the program a given printed manual corresponds.<p>The quality of the documentation generated can be greatly enhanced by including within the program text:<p><ul> <p><li><em>assertions</em> (types, modes, etc. ...) for the predicates in the program, and<p><li><em>machine-readable comments</em> (in the ``literate programming&apos;&apos; style).<p></ul> <p>The assertions and comments included in the source file need to be written using the Ciao system <em>assertion language</em>. A simple compatibility library is available to make traditional (constraint) logic programming systems ignore these assertions and comments allowing normal treatment of programs documented in this way.<p>The documentation is currently generated directly in <a class="lpdoc-idx-anchor" id="4" href="lpdoc_ref_mansearch.html#HTML"><tt>HTML</tt></a> or <a class="lpdoc-idx-anchor" id="5" href="lpdoc_ref_mansearch.html#texinfo"><tt>texinfo</tt></a> format. From the <a class="lpdoc-idx-anchor" id="6" href="lpdoc_ref_mansearch.html#texinfo"><tt>texinfo</tt></a> output, <a class="lpdoc-idx-anchor" id="7" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> also generates printed and on-line manuals in several other formats automatically (<tt>pdf</tt>, <tt>info</tt>, <tt>ascii</tt>, etc.), by calling publicly available tools. <a class="lpdoc-idx-anchor" id="8" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> can also generate &apos;man&apos; pages (Unix man page format) as well as brief descriptions in html or emacs info formats suitable for inclusion in an on-line index of applications. In particular, <a class="lpdoc-idx-anchor" id="9" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> can create and maintain fully automatically <a class="lpdoc-idx-anchor" id="10" href="lpdoc_ref_mansearch.html#WWW">WWW</a> and <a class="lpdoc-idx-anchor" id="11" href="lpdoc_ref_mansearch.html#info">info</a> sites containing on-line versions of the documents it produces.<p>The <a class="lpdoc-idx-anchor" id="12" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> manual (and the Ciao system manuals) are generated by <a class="lpdoc-idx-anchor" id="13" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a>.<p><a class="lpdoc-idx-anchor" id="14" href="lpdoc_ref_mansearch.html#lpdoc"><tt>lpdoc</tt></a> is distributed under the <a class="lpdoc-idx-anchor" id="15" href="lpdoc_ref_mansearch.html#GNU general public license">GNU general public license</a>.<br/><p>This documentation corresponds to version 3.5 (2022/3/2, 20:34:30 CET). </div><h2>Parts of this manual</h2><ul><li><a href="lpdoc_ref_manintro.html">Introduction</a></li><li><a href="Generating.html">Generating and accessing manuals</a></li><li><a href="Writing.html">Writing documentation</a></li><li><a href="comments.html">Documentation mark-up language and doc declarations</a></li><li><a href="Markdown.html">Documentation markdown language</a></li><li><a href="assertions_doc.html">The Ciao assertion language</a></li><li><a href="lpdoc_examples.html">An example - Documenting a library module</a></li><li><a href="Runnables.html">Including Editable and Runnable Examples</a></li></ul><div class="lpdoc-footer">Generated with LPdoc using Ciao</div></div><div class="lpdoc-clearer"></div></div></body></html>