This commit is contained in:
Vítor Santos Costa 2015-01-04 23:51:59 +00:00
parent 0722644f99
commit a87f1040ac
8 changed files with 566 additions and 129 deletions

View File

@ -9,7 +9,7 @@
<tab type="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
<tab type="classes" visible="yes" title="Predicates and Classes">
<tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/>
@ -25,6 +25,7 @@
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<detaileddescription title=""/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
@ -62,7 +63,6 @@
<related title="" subtitle=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
@ -84,6 +84,7 @@
<!-- Layout definition for a namespace page -->
<namespace>
<briefdescription visible="yes"/>
<detaileddescription title=""/>
<memberdecl>
<nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/>
@ -94,7 +95,6 @@
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>
@ -108,6 +108,7 @@
<!-- Layout definition for a file page -->
<file>
<briefdescription visible="yes"/>
<detaileddescription title=""/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
@ -123,7 +124,6 @@
<variables title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<defines title=""/>
@ -138,13 +138,14 @@
<!-- Layout definition for a group page -->
<group>
<briefdescription visible="yes"/>
<detaileddescription title=""/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
<classes visible="yes" title=""/>
<nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/>
<files visible="yes" title=""/>
<namespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
@ -160,7 +161,6 @@
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
<inlineclasses title=""/>
@ -184,11 +184,11 @@
<!-- Layout definition for a directory page -->
<directory>
<briefdescription visible="yes"/>
<detaileddescription title=""/>
<directorygraph visible="yes"/>
<memberdecl>
<dirs visible="yes"/>
<files visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
</directory>
</doxygenlayout>

166
docs/blog.css Normal file
View File

@ -0,0 +1,166 @@
/*
* Globals
*/
body {
font-family: Georgia, "Times New Roman", Times, serif;
color: #555;
}
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
margin-top: 0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: normal;
color: #333;
}
/*
* Override Bootstrap's default container.
*/
@media (min-width: 1200px) {
.container {
width: 970px;
}
}
/*
* Masthead for nav
*/
.blog-masthead {
background-color: #428bca;
-webkit-box-shadow: inset 0 -2px 5px rgba(0,0,0,.1);
box-shadow: inset 0 -2px 5px rgba(0,0,0,.1);
}
/* Nav links */
.blog-nav-item {
position: relative;
display: inline-block;
padding: 10px;
font-weight: 500;
color: #cdddeb;
}
.blog-nav-item:hover,
.blog-nav-item:focus {
color: #fff;
text-decoration: none;
}
/* Active state gets a caret at the bottom */
.blog-nav .active {
color: #fff;
}
.blog-nav .active:after {
position: absolute;
bottom: 0;
left: 50%;
width: 0;
height: 0;
margin-left: -5px;
vertical-align: middle;
content: " ";
border-right: 5px solid transparent;
border-bottom: 5px solid;
border-left: 5px solid transparent;
}
/*
* Blog name and description
*/
.blog-header {
padding-top: 20px;
padding-bottom: 20px;
}
.blog-title {
margin-top: 30px;
margin-bottom: 0;
font-size: 60px;
font-weight: normal;
}
.blog-description {
font-size: 20px;
color: #999;
}
/*
* Main column and sidebar layout
*/
.blog-main {
font-size: 18px;
line-height: 1.5;
}
/* Sidebar modules for boxing content */
.sidebar-module {
padding: 15px;
margin: 0 -15px 15px;
}
.sidebar-module-inset {
padding: 15px;
background-color: #f5f5f5;
border-radius: 4px;
}
.sidebar-module-inset p:last-child,
.sidebar-module-inset ul:last-child,
.sidebar-module-inset ol:last-child {
margin-bottom: 0;
}
/* Pagination */
.pager {
margin-bottom: 60px;
text-align: left;
}
.pager > li > a {
width: 140px;
padding: 10px 20px;
text-align: center;
border-radius: 30px;
}
/*
* Blog posts
*/
.blog-post {
margin-bottom: 60px;
}
.blog-post-title {
margin-bottom: 5px;
font-size: 40px;
}
.blog-post-meta {
margin-bottom: 20px;
color: #999;
}
/*
* Footer
*/
.blog-footer {
padding: 40px 0;
color: #999;
text-align: center;
background-color: #f9f9f9;
border-top: 1px solid #e5e5e5;
}
.blog-footer p:last-child {
margin-bottom: 0;
}

179
docs/customdoxygen.css Normal file
View File

@ -0,0 +1,179 @@
/* Custom Look and feel - Can be edited
----------------------------------- */
#navrow1, #navrow2, #navrow3, #navrow4, #navrow5{
border-bottom: 1px solid #EEEEEE;
}
.adjust-right {
margin-left: 30px !important;
font-size: 1.15em !important;
}
/* DOXYGEN Code Styles - These are from doxygen but can be changed to fit the theme
----------------------------------- */
a.qindex {
font-weight: bold;
}
a.qindexHL {
font-weight: bold;
background-color: #9CAFD4;
color: #ffffff;
border: 1px double #869DCA;
}
.contents a.qindexHL:visited {
color: #ffffff;
}
a.code, a.code:visited, a.line, a.line:visited {
color: #4665A2;
}
a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
color: #4665A2;
}
/* @end */
dl.el {
margin-left: -1cm;
}
pre.fragment {
border: 1px solid #C4CFE5;
background-color: #FBFCFD;
padding: 4px 6px;
margin: 4px 8px 4px 2px;
overflow: auto;
word-wrap: break-word;
font-size: 9pt;
line-height: 125%;
font-family: monospace, fixed;
font-size: 105%;
}
div.fragment {
padding: 4px 6px;
margin: 4px 8px 4px 2px;
border: 1px solid #C4CFE5;
}
div.line {
font-family: monospace, fixed;
font-size: 13px;
min-height: 13px;
line-height: 1.0;
text-wrap: unrestricted;
white-space: -moz-pre-wrap; /* Moz */
white-space: -pre-wrap; /* Opera 4-6 */
white-space: -o-pre-wrap; /* Opera 7 */
white-space: pre-wrap; /* CSS3 */
word-wrap: break-word; /* IE 5.5+ */
text-indent: -53px;
padding-left: 53px;
padding-bottom: 0px;
margin: 0px;
-webkit-transition-property: background-color, box-shadow;
-webkit-transition-duration: 0.5s;
-moz-transition-property: background-color, box-shadow;
-moz-transition-duration: 0.5s;
-ms-transition-property: background-color, box-shadow;
-ms-transition-duration: 0.5s;
-o-transition-property: background-color, box-shadow;
-o-transition-duration: 0.5s;
transition-property: background-color, box-shadow;
transition-duration: 0.5s;
}
div.line.glow {
background-color: cyan;
box-shadow: 0 0 10px cyan;
}
span.lineno {
padding-right: 4px;
text-align: right;
border-right: 2px solid #0F0;
background-color: #E8E8E8;
white-space: pre;
}
span.lineno a {
background-color: #D8D8D8;
}
span.lineno a:hover {
background-color: #C8C8C8;
}
div.groupHeader {
margin-left: 16px;
margin-top: 12px;
font-weight: bold;
}
div.groupText {
margin-left: 16px;
font-style: italic;
}
/* @group Code Colorization */
span.keyword {
color: #008000
}
span.keywordtype {
color: #604020
}
span.keywordflow {
color: #e08000
}
span.comment {
color: #800000
}
span.preprocessor {
color: #806020
}
span.stringliteral {
color: #002080
}
span.charliteral {
color: #008080
}
span.vhdldigit {
color: #ff00ff
}
span.vhdlchar {
color: #000000
}
span.vhdlkeyword {
color: #700070
}
span.vhdllogic {
color: #ff0000
}
blockquote {
background-color: #F7F8FB;
border-left: 2px solid #9CAFD4;
margin: 0 24px 0 4px;
padding: 0 12px 0 16px;
}
.container-fluid {
margin-right: auto;
margin-left: auto;
max-width: 1600px; /* or 950px */
}

View File

@ -32,7 +32,7 @@ DOXYFILE_ENCODING = UTF-8
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = yap-6
PROJECT_NAME = YAP-6
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
@ -44,7 +44,7 @@ PROJECT_NUMBER = 6.3.4
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF =
PROJECT_BRIEF = The YAP Prolog Compiler
# With the PROJECT_LOGO tag one can specify an logo or icon that is included in
# the documentation. The maximum height of the logo should not exceed 55 pixels
@ -267,7 +267,7 @@ OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
# Set the OPTIMIZE_OUTPUT_PROLOG tag to YES if your project consists of Prolog
# Set the OPTIMIZE_OUTPUT_FOR_PROLOG tag to YES if your project consists of Prolog
# sources. Doxygen will then generate output that is tailored for Prolog.
# The default value is: NO.
@ -290,7 +290,7 @@ OPTIMIZE_OUTPUT_FOR_PROLOG = YES
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING = md pl=Prolog ypp=Prolog
EXTENSION_MAPPING = md pl=Prolog ypp=Prolog icc=c++ i=c
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
@ -681,7 +681,7 @@ FILE_VERSION_FILTER =
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
LAYOUT_FILE = # docs/DoxygenLayout.xml
LAYOUT_FILE = docs/DoxygenLayout.xml
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
@ -772,7 +772,7 @@ WARN_LOGFILE =
# INPUT = /Users/vsc/git/yap-6.3/packages/cplint/mcintyre.pl
#Input = /Users/vsc/git/0yap-6.3/packages/R/R.pl
INPUT = tmp/foreigns.yap docs/yap.md pl swi C H include os packages library CXX OPTYap
INPUT = tmp/foreigns.yap docs/yap.md pl swi C H include os packages library CXX OPTYap tmp/foreigns.c
# INPUT = docs/yap.md swi/library/aggregate.pl
@ -1392,7 +1392,7 @@ DISABLE_INDEX = NO
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_TREEVIEW = NO
GENERATE_TREEVIEW = YES
# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that
# doxygen will group on one line in the generated HTML documentation.
@ -1506,7 +1506,7 @@ MATHJAX_CODEFILE =
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
SEARCHENGINE = NO
SEARCHENGINE = YES
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
# implemented using a web server instead of a web client using Javascript. There
@ -1518,7 +1518,7 @@ SEARCHENGINE = NO
# The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES.
SERVER_BASED_SEARCH = NO
SERVER_BASED_SEARCH = YES
# When EXTERNAL_SEARCH tag is enabled doxygen will no longer generate the PHP
# script for searching. Instead the search results are written to an XML file
@ -2313,7 +2313,7 @@ MAX_DOT_GRAPH_DEPTH = 0
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_TRANSPARENT = NO
DOT_TRANSPARENT = YES
# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This

44
docs/footer.html Normal file
View File

@ -0,0 +1,44 @@
<hr>
<footer>
<li>DCC/FCUP & CRACS/INESC-TEC 2015</li>
<li class="footer">$generatedby
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/>
</a> $doxygenversion
</li>
</footer>
</div>
<div class="col-xs-2"><div class="bs-sidebar hidden-print affix" role="complementary">
<ul class="nav bs-sidenav">
<li><center><img src="$relpath^yap_128x128x32.png" alt="The YAP Logo"/></center></li>
<li><a class="list-group-item" href="$relpath^index.html#download">Downloading
</a></li>
<li><a class="list-group-item" href="$relpath^index.html#install">Installing
</a></li>
<li><a class="list-group-item" href="$relpath^index.html#run">Running
</a></li>
<li><a class="list-group-item" href="$relpath^index.html#consult">Loading </a></li>
<li><a class="list-group-item" href="$relpath^index.html#builtins">Built-ins </a></li>
<li><a class="list-group-item" href="$relpath^index.html#extensions">Extensions </a></li>
<li><a class="list-group-item" href="$relpath^index.html#library">Library </a></li>
<li><a class="list-group-item" href="$relpath^index.html#packages">Packages </a></li>
<li><a class="list-group-item" href="$relpath^index.html#swi">Compatibility </a></li>
<li><a class="list-group-item" href="db/db2/group___y_a_p_programming.html">Programming</a></li>
<li><a class="list-group-item" href="$relpath^index.html#fli">Foreign Language </a></li>
<!--/.sidebar-offcanvas-->
</ul>
</div>
<!--/.sidebar-offcanvas-->
</div><!--/.container-->
<!-- Bootstrap core JavaScript
================================================== -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="$relpath^dynsections.js"></script>
<script type="text/javascript" src="$relpath^doxy-boot.js"></script>
<script src="$relpath^offcanvas.js"></script>
</body>
</html>

49
docs/header.html Normal file
View File

@ -0,0 +1,49 @@
<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- For Mobile Devices -->
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<title>yap-6: Main Page</title>
<!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
<link href="$relpath^doxygen.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css"/>
<!-- Bootstrap theme -->
<link href="$relpath^dist/css/bootstrap-theme.min.css" rel="stylesheet"/>
<!-- Custom styles for this template -->
<link href="$relpath^theme.css" rel="stylesheet"/>
<link href="$relpath^offcanvas.css" rel="stylesheet"/>
<link href="$relpath^solarized-light.css" rel="stylesheet"/>
<link href="$relpath^customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<nav class="navbar navbar-fixed-top">
<div class="container">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<!-- <a class="navbar-brand" -->
<!-- href="#"><h1>yap-6</h1> -->
</div>
<div id="navbar" class="collapse navbar-collapse">
</div><!-- /.nav-collapse -->
</div><!-- /.container -->
</nav><!-- /.navbar -->
<div class="container">
<div class="col-xs-10 col-sm-7">
<p class="pull-right visible-xs">
<button type="button" class="btn btn-primary btn-xs" data-toggle="offcanvas">Toggle nav</button>
</p>
<!-- <div class="jumbotron"> -->
<!-- <img align="left" class="header" src="yap_256x256x32.png" alt="doxygen"/> -->
<!-- <h1>YAP-6.3.4 Manual</h1> -->
<!-- <p></p> -->
<!-- </div> -->
<div class="row">
<!-- end header part -->

View File

@ -1,10 +1,6 @@
YAP 6-3.4 Manual {#mainpage}
====================
<center>
![The YAP Logo](yap_256x256x32.png)
</center>
This file documents the YAP Prolog System version 6.3.4, a high-performance Prolog compiler developed at LIACC, Universidade do Porto. YAP is based on David H. D. Warren's WAM (Warren Abstract Machine), with several optimizations for better performance. YAP follows the Edinburgh tradition, and is largely compatible with DEC-10 Prolog, Quintus Prolog, and especially with C-Prolog.
@ -44,13 +40,14 @@ Permission is granted to make and distribute verbatim copies of this manual prov
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
\htmlonly
<center>
![The YAP Logo](yap_256x256x32.png)
</center>
This file contains extracts of the SWI-Prolog manual, as written by Jan
Wielemaker. Our thanks to the author for his kind permission in allowing
us to include his text in this document.
\endhtmlonly
## Introduction
@ -59,14 +56,14 @@ YAP (<em>Yet Another Prolog</em>). The YAP Prolog System is a
high-performance Prolog compiler developed at LIACC, Universidade do
Porto. YAP provides several important features:
+ Speed: YAP is widely considered one of the fastest available
Prolog systems.
+ Speed: YAP is widely considered one of the fastest
available Prolog systems.
+ Functionality: it supports stream Input/Output, sockets, modules,
exceptions, Prolog debugger, C-interface, dynamic code, internal
database, DCGs, saved states, co-routining, arrays, threads.
+ Functionality: it supports stream Input/Output, sockets, modules,
exceptions, Prolog debugger, C-interface, dynamic code, internal
database, DCGs, saved states, co-routining, arrays, threads.
+ We explicitly allow both commercial and non-commercial use of YAP.
+ We explicitly allow both commercial and non-commercial use of YAP.
YAP is based on the David H. D. Warren's WAM (Warren Abstract Machine),
@ -180,7 +177,7 @@ Vítor Santos Costa, João Azevedo, Jan Wielemaker, and Rui Camacho.
Foreign Language Interface, and the RDF, archive, clib, http, odbc, plunit,
semweb, sgml, and zlib packages written by Jan Wielemaker.
Downloding YAP {#download}
Downloading YAP {#download}
==============
The latest development version of Yap-6 is yap-6.3.4 and can be
@ -851,7 +848,7 @@ The YAP Library {#library}
+ @ref AVL_Trees
+ @ref Exo_Intervals
+ @ref Exo_Intervals
+ @ref Heaps
@ -871,7 +868,7 @@ The YAP Library {#library}
+ @ref PseudoRandom
+ @ref RedhYBlack_Trees
+ @ref rbtrees
+ @ref RegExp
@ -918,6 +915,8 @@ The YAP Packages {#packages}
+ @ref ProbLog1
+ @ref python
+ @ref YAPRaptor
+ @ref YAP-LBFGS
@ -1006,7 +1005,7 @@ YAP was designed so that most C-Prolog programs should run under YAP
without changes.
The most important difference between YAP and C-Prolog is that, being
YAP a compiler, some changes should be made if predicates such as
`assert`, `clause` and `retract` are used. First
assert/1, clause/1 and retract/1 are used. First
predicates which will change during execution should be declared as
`dynamic` by using commands like:
@ -1063,8 +1062,8 @@ the WAM. Even so, there are major important differences:
+ The following SICStus Prolog v3 built-ins are not (currently)
implemented in YAP (note that this is only a partial list):
`stream_interrupt/3`, `reinitialize/0`, `help/0`, `help/1`,
`trimcore/0`, and `require/1`.
stream_interrupt/3, reinitialize/0, help/0, help/1,
trimcore/0, and require/1.
+ The consult/1 predicate in YAP follows C-Prolog
semantics. That is, it adds clauses to the data base, even for
@ -1094,8 +1093,8 @@ compatibility. Setting this flag changes the following:
+ By default, YAP implements the
atom_chars/2( (see Testing Terms)), and
number_chars/2, ( (see Testing Terms)),
atom_chars/2 (see Testing Terms), and
number_chars/2, (see Testing Terms),
built-ins as per the original Quintus Prolog definition, and
not as per the ISO definition.

View File

@ -1,7 +1,7 @@
/**
@defgroup YAPControl Control Predicates
@ingroup YAPBuiltins
@ingroup builtins
@{
*/
@ -334,7 +334,7 @@ Increase stack size _Size_ kilobytes
*/
/** @defgroup Undefined_Procedures Handling Undefined Procedures
@ingroup YAPBuiltins
@ingroup builtins
@{
A predicate in a module is said to be undefined if there are no clauses
@ -443,7 +443,7 @@ If this hook predicate succeeds it must instantiate the _Action_ argument to th
*/
/** @defgroup Messages Message Handling
@ingroup YAPBuiltins
@ingroup builtins
@{
The interaction between YAP and the user relies on YAP's ability to
@ -556,7 +556,7 @@ Translates a message-term into a string object. Primarily intended for SWI-Prolo
*/
/** @defgroup Testing_Terms Predicates on terms
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -881,7 +881,7 @@ Similar to rational_term_to_tree/4, but _SubTerms_ is a proper list.
/** @defgroup Predicates_on_Atoms Predicates on Atoms
@ingroup YAPBuiltins
@ingroup builtins
@{
The following predicates are used to manipulate atoms:
@ -1083,7 +1083,7 @@ sub-strings of _A_.
*/
/** @defgroup Predicates_on_Characters Predicates on Characters
@ingroup YAPBuiltins
@ingroup builtins
@{
The following predicates are used to manipulate characters:
@ -1203,7 +1203,7 @@ atom_chars/2 and atom_codes/2.
*/
/** @defgroup Comparing_Terms Comparing Terms
@ingroup YAPBuiltins
@ingroup builtins
@{
The following predicates are used to compare and order terms, using the
@ -1374,7 +1374,7 @@ of length _S_.
*/
/** @defgroup Arithmetic Arithmetic
@ingroup YAPBuiltins
@ingroup builtins
@{
@copydoc arithmetic
@ -1389,7 +1389,7 @@ of length _S_.
*/
/** @defgroup InputOutput Input/Output Predicates
@ingroup YAPBuiltins
@ingroup builtins
@{
Some of the Input/Output predicates described below will in certain conditions
@ -1401,7 +1401,7 @@ setting and clearing this flag are given under 7.7.
*/
/** @defgroup Streams_and_Files Handling Streams and Files
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -1812,7 +1812,7 @@ Given the packaged stream position term _StreamPosition_, unify
*/
/** @defgroup ChYProlog_File_Handling C-Prolog File Handling
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -1896,7 +1896,7 @@ Closes the current input stream (see 6.7.).
*/
/** @defgroup InputOutput_of_Terms Handling Input/Output of Terms
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -2343,7 +2343,7 @@ Create a list of one-character-atoms as a difference-list.
*/
/** @defgroup InputOutput_of_Characters Handling Input/Output of Characters
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -2506,7 +2506,7 @@ Outputs a new line to the current output stream.
*/
/** @defgroup InputOutput_for_Streams Input/Output Predicates applied to Streams
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -2699,7 +2699,7 @@ Outputs a new line to stream _S_.
*/
/** @defgroup ChYProlog_to_Terminal Compatible C-Prolog predicates for Terminal Input/Output
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -2751,7 +2751,7 @@ Outputs a new line to stream user_output.
*/
/** @defgroup InputOutput_Control Controlling Input/Output
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -2785,7 +2785,7 @@ Input/Output predicates will produce an appropriated message and abort.
*/
/** @defgroup Sockets Using Sockets From YAP
@ingroup YAPBuiltins
@ingroup builtins
@{
YAP includes a SICStus Prolog compatible socket interface. In YAP-6.3
@ -2969,7 +2969,7 @@ address in number and dots notation.
*/
/** @defgroup Database Using the Clausal Data Base
@ingroup YAPBuiltins
@ingroup builtins
@{
Predicates in YAP may be dynamic or static. By default, when
@ -3051,7 +3051,7 @@ the remainder of the program execution.
*/
/** @defgroup Modifying_the_Database Modification of the Data Base
@ingroup YAPBuiltins
@ingroup builtins
@{
These predicates can be used either for static or for dynamic
@ -3222,7 +3222,7 @@ Retract all the clauses whose head matches the goal _G_. Goal
*/
/** @defgroup Looking_at_the_Database Looking at the Data Base
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -3369,7 +3369,7 @@ of space required to store indices to those clauses (in bytes).
*/
/** @defgroup Database_References Using Data Base References
@ingroup YAPBuiltins
@ingroup builtins
@{
Data Base references are a fast way of accessing terms. The predicates
@ -3425,7 +3425,7 @@ database reference is _R_. The predicate must be dynamic.
*/
/** @defgroup Internal_Database Internal Data Base
@ingroup YAPBuiltins
@ingroup builtins
@{
Some programs need global information for, e.g. counting or collecting
@ -3703,7 +3703,7 @@ This predicate is YAP specific.
*/
/** @defgroup BlackBoard The Blackboard
@ingroup YAPBuiltins
@ingroup builtins
@{
YAP implements a blackboard in the style of the SICStus Prolog
@ -3761,7 +3761,7 @@ with _Term_, and if the unification succeeds replace it by
*/
/** @defgroup Sets Collecting Solutions to a Goal
@ingroup YAPBuiltins
@ingroup builtins
@{
When there are several solutions to a goal, if the user wants to collect all
@ -3891,7 +3891,7 @@ no
*/
/** @defgroup Grammars Grammar Rules
@ingroup YAPBuiltins
@ingroup builtins
@{
Grammar rules in Prolog are both a convenient way to express definite
@ -4018,7 +4018,7 @@ This predicate is used by the grammar rules compiler and is defined as
*/
/** @defgroup OS Access to Operating System Functionality
@ingroup YAPBuiltins
@ingroup builtins
@{
The following built-in predicates allow access to underlying
@ -4278,7 +4278,7 @@ order of dispatch.
*/
/** @defgroup Term_Modification Term Modification
@ingroup YAPBuiltins
@ingroup builtins
@{
It is sometimes useful to change the value of instantiated
@ -4340,7 +4340,7 @@ Set the current value of mutable term _M_ to term _D_.
*/
/** @defgroup Global_Variables Global Variables
@ingroup YAPBuiltins
@ingroup builtins
@{
Global variables are associations between names (atoms) and
@ -4568,7 +4568,7 @@ compound terms.
*/
/** @defgroup Profiling Profiling Prolog Programs
@ingroup YAPBuiltins
@ingroup builtins
@{
YAP includes two profilers. The count profiler keeps information on the
@ -4587,7 +4587,7 @@ implementation.
*/
/** @defgroup The_Count_Profiler The Count Profiler
@ingroup YAPBuiltins
@ingroup builtins
@{
*Notes:*
@ -4660,7 +4660,7 @@ Reset all profiling information.
*/
/** @defgroup Tick_Profiler Tick Profiler
@ingroup YAPBuiltins
@ingroup builtins
@{
The tick profiler works by interrupting the Prolog code every so often
@ -4713,7 +4713,7 @@ The showprofres/0 and `showprofres/1` predicates call a user-defined multifile h
*/
/** @defgroup Call_Counting Counting Calls
@ingroup YAPBuiltins
@ingroup builtins
@{
Predicates compiled with YAP's flag call_counting set to
@ -4803,7 +4803,7 @@ exception when `l/0` performs more than 10000 reductions.
*/
/** @defgroup Arrays Arrays
@ingroup YAPBuiltins
@ingroup builtins
@{
The YAP system includes experimental support for arrays. The
@ -5042,7 +5042,7 @@ terms.
*/
/** @defgroup Preds Predicate Information
@ingroup YAPBuiltins
@ingroup builtins
@{
Built-ins that return information on the current predicates and modules:
@ -5072,7 +5072,7 @@ Succeeds if _M_ are current modules associated to the file _F_.
*/
/** @defgroup Misc Miscellaneous
@ingroup YAPBuiltins
@ingroup builtins
@{
@ -5885,7 +5885,7 @@ compatibility, it is a term of the form
@section YAPLibrary Library Predicates
@section library Library Predicates
Library files reside in the library_directory path (set by the
`LIBDIR` variable in the Makefile for YAP). Currently,
@ -5895,7 +5895,7 @@ most files in the library are from the Edinburgh Prolog library.
*/
/** @defgroup Aggregate Aggregate
@ingroup YAPLibrary
@ingroup library
@{
This is the SWI-Prolog library based on the Quintus and SICStus 4
@ -6065,7 +6065,7 @@ http://www.securitease.com. The code is public domain (from DEC10 library).
*/
/** @defgroup Apply Apply Macros
@ingroup YAPLibrary
@ingroup library
@{
This library provides a SWI-compatible set of utilities for applying a
@ -6076,7 +6076,7 @@ definitions from the `maplist` library.
*/
/** @defgroup Association_Lists Association Lists
@ingroup YAPLibrary
@ingroup library
@{
The following association list manipulation predicates are available
@ -6262,7 +6262,7 @@ have key _Key_.
*/
/** @defgroup AVL_Trees AVL Trees
@ingroup YAPLibrary
@ingroup library
@{
AVL trees are balanced search binary trees. They are named after their
@ -6308,7 +6308,7 @@ Lookup an element with key _Key_ in the AVL tree
*/
/** @defgroup Exo_Intervals Exo Intervals
@ingroup YAPLibrary
@ingroup library
@{
This package assumes you use exo-compilation, that is, that you loaded
@ -6343,7 +6343,7 @@ one. All queries run in constant or log(n) time.
*/
/** @defgroup Gecode Gecode Interface
@ingroup YAPPackages
@ingroup packages
@{
@ -6898,7 +6898,7 @@ minimise variable _V_
*/
/** @defgroup Heaps Heaps
@ingroup YAPLibrary
@ingroup library
@{
A heap is a labelled binary tree where the key of each node is less than
@ -6990,7 +6990,7 @@ heap, without deleting them.
*/
/** @defgroup Lists List Manipulation
@ingroup YAPLibrary
@ingroup library
@{
The following list manipulation routines are available once included
@ -7296,7 +7296,7 @@ See ord_subtract/3.
*/
/** @defgroup LineUtilities Line Manipulation Utilities
@ingroup YAPLibrary
@ingroup library
@{
This package provides a set of useful predicates to manipulate
@ -7464,7 +7464,7 @@ Same as file_filter/3, but before starting the filter execute
*/
/** @defgroup matrix Matrix Library
@ingroup YAPLibrary
@ingroup library
@{
This package provides a fast implementation of multi-dimensional
@ -8057,7 +8057,7 @@ Select from _Matrix_ the column matching _Column_ as new matrix _NewMatrix_.
*/
/** @defgroup MATLAB MATLAB Package Interface
@ingroup YAPLibrary
@ingroup library
@{
The MathWorks MATLAB is a widely used package for array
@ -8267,7 +8267,7 @@ MATLAB command `zeros`.
*/
/** @defgroup NonhYBacktrackable_Data_Structures Non-Backtrackable Data Structures
@ingroup YAPLibrary
@ingroup library
@{
The following routines implement well-known data-structures using global
@ -8461,7 +8461,7 @@ Succeeds if _Beam_ is empty.
*/
/** @defgroup Ordered_Sets Ordered Sets
@ingroup YAPLibrary
@ingroup library
@{
The following ordered set manipulation routines are available once
@ -8633,7 +8633,7 @@ Holds when _Union_ is the union of _Set1_ and _Set2_ and
*/
/** @defgroup Pseudo_Random Pseudo Random Number Integer Generator
@ingroup YAPLibrary
@ingroup library
@{
The following routines produce random non-negative integers in the range
@ -8691,7 +8691,7 @@ the result is in 0 .. _R_-1.
*/
/** @defgroup Queues Queues
@ingroup YAPLibrary
@ingroup library
@{
The following queue manipulation routines are available once
@ -8791,7 +8791,7 @@ Creates a new list with the same elements as _Queue_.
*/
/** @defgroup Random Random Number Generator
@ingroup YAPLibrary
@ingroup library
@{
The following random number operations are included with the
@ -8861,7 +8861,7 @@ random number generator. The integer `X` must be in the range
*/
/** @defgroup Read_Utilities Read Utilities
@ingroup YAPLibrary
@ingroup library
@{
The `readutil` library contains primitives to read lines, files,
@ -8950,7 +8950,7 @@ Read a file to a list of Prolog terms (see read/1). @c _Spec_ is a
*/
/** @defgroup RedhYBlack_Trees Red-Black Trees
@ingroup YAPLibrary
@ingroup library
@{
Red-Black trees are balanced search binary trees. They are named because
@ -9207,7 +9207,7 @@ list _L_.
*/
/** @defgroup RegExp Regular Expressions
@ingroup YAPLibrary
@ingroup library
@{
This library includes routines to determine whether a regular expression
@ -9340,7 +9340,7 @@ sub-expression. Thus the `"b"` has already been claimed before the
*/
/** @defgroup shlib SWI-Prolog's shlib library
@ingroup YAPLibrary
@ingroup library
@{
This section discusses the functionality of the (autoload)
@ -9473,7 +9473,7 @@ loaded shared libraries.
*/
/** @defgroup Splay_Trees Splay Trees
@ingroup YAPLibrary
@ingroup library
@{
Splay trees are explained in the paper "Self-adjusting Binary Search
@ -9553,7 +9553,7 @@ greater than _Key_. This operations destroys _Tree_.
*/
/** @defgroup String_InputOutput Reading From and Writing To Strings
@ingroup YAPLibrary
@ingroup library
@{
From Version 4.3.2 onwards YAP implements SICStus Prolog compatible
@ -9722,7 +9722,7 @@ the memory buffer.
*/
/** @defgroup System Calling The Operating System from YAP
@ingroup YAPLibrary
@ingroup library
@{
YAP now provides a library of system utilities compatible with the
@ -10088,7 +10088,7 @@ Wait until process _PID_ terminates, and return its exits _Status_.
*/
/** @defgroup Terms Utilities On Terms
@ingroup YAPLibrary
@ingroup library
@{
The next routines provide a set of commonly used utilities to manipulate
@ -10200,7 +10200,7 @@ Succeed if _Term1_ and _Term2_ are unifiable with substitution
*/
/** @defgroup Tries Trie DataStructure
@ingroup YAPLibrary
@ingroup library
@{
The next routines provide a set of utilities to create and manipulate
@ -10355,7 +10355,7 @@ Print trie _Trie_ on standard output.
*/
/** @defgroup Cleanup Call Cleanup
@ingroup YAPLibrary
@ingroup library
@{
<tt>call_cleanup/1</tt> and <tt>call_cleanup/2</tt> allow predicates to register
@ -10502,7 +10502,7 @@ Read the Source Luke.
*/
/** @defgroup Timeout Calls With Timeout
@ingroup YAPLibrary
@ingroup library
@{
The <tt>time_out/3</tt> command relies on the <tt>alarm/3</tt> built-in to
@ -10539,7 +10539,7 @@ precision on the scale of seconds.
*/
/** @defgroup Trees Updatable Binary Trees
@ingroup YAPLibrary
@ingroup library
@{
The following queue manipulation routines are available once
@ -10602,7 +10602,7 @@ Is the converse operation to list_to_tree.
*/
/** @defgroup UGraphs Unweighted Graphs
@ingroup YAPLibrary
@ingroup library
@{
The following graph manipulation routines are based in code originally
@ -10897,7 +10897,7 @@ V = [1,3,5]
*/
/** @defgroup DGraphs Directed Graphs
@ingroup YAPLibrary
@ingroup library
@{
The following graph manipulation routines use the red-black tree library
@ -11197,7 +11197,7 @@ The vertices _Vertices_ have no outgoing edge in graph
*/
/** @defgroup UnDGraphs Undirected Graphs
@ingroup YAPLibrary
@ingroup library
@{
The following graph manipulation routines use the red-black tree graph
@ -11317,7 +11317,7 @@ directed graph _DGraph_.
*/
/** @defgroup DBUsage Memory Usage in Prolog Data-Base
@ingroup YAPLibrary
@ingroup library
@{
This library provides a set of utilities for studying memory usage in YAP.
@ -11370,7 +11370,7 @@ than _Threshold_ bytes.
*/
/** @defgroup Lambda Lambda Expressions
@ingroup YAPLibrary
@ingroup library
@{
This library, designed and implemented by Ulrich Neumerkel, provides
@ -11447,7 +11447,7 @@ at Ulrich Neumerker's page in <http://www.complang.tuwien.ac.at/ulrich/Prolog-in
*/
/** @defgroup LAM LAM
@ingroup YAPPackages
@ingroup packages
@{
This library provides a set of utilities for interfacing with LAM MPI.
@ -11678,7 +11678,7 @@ are released.
*/
/** @defgroup BDDs Binary Decision Diagrams and Friends
@ingroup YAPPackages
@ingroup packages
@{
This library provides an interface to the BDD package CUDD. It requires
@ -11867,7 +11867,7 @@ close the BDD and release any resources it holds.
*/
/** @defgroup Block_Diagram Block Diagram
@ingroup YAPLibrary
@ingroup library
@{
This library provides a way of visualizing a prolog program using
@ -12037,7 +12037,7 @@ True iff _Term1_ and _Term2_ are structurally equivalent. I.e. if _Term1_ and
*/
/** @defgroup Invoking_Predicates_on_all_Members_of_a_List Invoking Predicates on all Members of a List
@ingroup YAPLibrary
@ingroup library
@{
@ -12088,7 +12088,7 @@ triple. See the example above.
*/
/** @defgroup Forall Forall
@ingroup YAPPackages
@ingroup packages
@{
@ -12220,7 +12220,7 @@ Delete the named global variable.
*/
/** @defgroup Compatibility_of_Global_Variables Compatibility of Global Variables
@ingroup YAPPackages
@ingroup packages
@{
Global variables have been introduced by various Prolog
@ -12246,7 +12246,7 @@ language. Next, we discuss support to the most important ones.
*/
/** @defgroup Rational_Trees Rational Trees
@ingroup YAPPackages
@ingroup packages
@{
Prolog unification is not a complete implementation. For efficiency
@ -12275,7 +12275,7 @@ entering an infinite cycle when trying to write an infinite term.
*/
/** @defgroup CohYroutining Co-routining
@ingroup YAPPackages
@ingroup packages
@{
Prolog uses a simple left-to-right flow of control. It is sometimes
@ -12410,7 +12410,7 @@ no
*/
/** @defgroup Attributed_Variables Attributed Variables
@ingroup YAPPackages
@ingroup packages
@{
YAP supports attributed variables, originally developed at OFAI by
@ -12437,7 +12437,7 @@ rely on the SWI-Prolog interface.
*/
/** @defgroup New_Style_Attribute_Declarations hProlog and SWI-Prolog style Attribute Declarations
@ingroup YAPPackages
@ingroup packages
@{
The following documentation is taken from the SWI-Prolog manual.
@ -12662,7 +12662,7 @@ by fresh variables.
*/
/** @defgroup Old_Style_Attribute_Declarations SICStus Prolog style Attribute Declarations
@ingroup YAPLibrary
@ingroup library
@{
Old style attribute declarations are activated through loading the library <tt>atts</tt> . The command
@ -13049,7 +13049,7 @@ attributes from other known solvers/modules via the module prefix in
*/
/** @defgroup CLPR Constraint Logic Programming over Reals
@ingroup YAPPackages
@ingroup packages
@{
YAP now uses the CLP(R) package developed by <em>Leslie De Koninck</em>,
@ -13169,7 +13169,7 @@ dump([X,Y,Z],[x,y,z],Cons)
*/
/** @defgroup CLPR_Syntax Syntax of the predicate arguments
@ingroup YAPPackages
@ingroup packages
@{
@ -13272,7 +13272,7 @@ X = tan(Y)
~~~~~
@section CHR CHR: Constraint Handling Rules
@ingroup YAPPackages
@ingroup packages
This chapter is written by Tom Schrijvers, K.U. Leuven for the hProlog
system. Adjusted by Jan Wielemaker to fit the SWI-Prolog documentation
@ -13316,7 +13316,7 @@ implementation. For a more thorough review of CHR we refer the reader to
*/
/** @defgroup CHR_Syntax_and_Semantics Syntax and Semantics
@ingroup YAPPackages
@ingroup packages
@{
@ -13857,7 +13857,7 @@ intersection([_|T],L2,L3) :-
*/
/** @defgroup CHR_Compatibility Compatibility with SICStus CHR
@ingroup YAPPackages
@ingroup packages
@{
@ -13889,7 +13889,7 @@ rules may be defined in a file with any extension.
*/
/** @defgroup CHR_Guidelines Guidelines
@ingroup YAPPackages
@ingroup packages
@{
@ -13922,7 +13922,7 @@ Make sure to disable debug (`-nodebug`) and enable optimization
*/
/** @defgroup Logtalk Logtalk
@ingroup YAPPackages
@ingroup packages
@{
The Logtalk object-oriented extension is available after running its
@ -13938,7 +13938,7 @@ please see the URL <http://logtalk.org/>.
*/
/** @defgroup Threads Threads
@ingroup YAPBuiltins
@ingroup builtins
@{
YAP implements a SWI-Prolog compatible multithreading
@ -14641,7 +14641,7 @@ Enumerates all existing mutexes. If the mutex is held by some thread,
*/
/** @defgroup Parallelism Parallelism
@ingroup YAPPackages
@ingroup packages
@{
There has been a sizeable amount of work on an or-parallel
@ -14681,7 +14681,7 @@ releases.
*/
/** @defgroup Tabling Tabling
@ingroup YAPBuiltins
@ingroup builtins
@{
*YAPTab* is the tabling engine that extends YAP's execution
@ -14871,7 +14871,7 @@ Prints statistics on space used by all tables.
*/
/** @defgroup Low_Level_Tracing Tracing at Low Level
@ingroup YAPBuiltins
@ingroup builtins
@{
It is possible to follow the flow at abstract machine level if
@ -14945,7 +14945,7 @@ label _A_. The label must be an atom.
*/
/** @defgroup Debugging Debugging
@ingroup YAPBuiltins
@ingroup builtins
@{