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="namespacelist" visible="yes" title="" intro=""/>
<tab type="namespacemembers" visible="yes" title="" intro=""/> <tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab> </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="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/> <tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
<tab type="hierarchy" visible="yes" title="" intro=""/> <tab type="hierarchy" visible="yes" title="" intro=""/>
@ -25,6 +25,7 @@
<!-- Layout definition for a class page --> <!-- Layout definition for a class page -->
<class> <class>
<briefdescription visible="yes"/> <briefdescription visible="yes"/>
<detaileddescription title=""/>
<includes visible="$SHOW_INCLUDE_FILES"/> <includes visible="$SHOW_INCLUDE_FILES"/>
<inheritancegraph visible="$CLASS_GRAPH"/> <inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/> <collaborationgraph visible="$COLLABORATION_GRAPH"/>
@ -62,7 +63,6 @@
<related title="" subtitle=""/> <related title="" subtitle=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription title=""/>
<memberdef> <memberdef>
<inlineclasses title=""/> <inlineclasses title=""/>
<typedefs title=""/> <typedefs title=""/>
@ -84,6 +84,7 @@
<!-- Layout definition for a namespace page --> <!-- Layout definition for a namespace page -->
<namespace> <namespace>
<briefdescription visible="yes"/> <briefdescription visible="yes"/>
<detaileddescription title=""/>
<memberdecl> <memberdecl>
<nestednamespaces visible="yes" title=""/> <nestednamespaces visible="yes" title=""/>
<constantgroups visible="yes" title=""/> <constantgroups visible="yes" title=""/>
@ -94,7 +95,6 @@
<variables title=""/> <variables title=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription title=""/>
<memberdef> <memberdef>
<inlineclasses title=""/> <inlineclasses title=""/>
<typedefs title=""/> <typedefs title=""/>
@ -108,6 +108,7 @@
<!-- Layout definition for a file page --> <!-- Layout definition for a file page -->
<file> <file>
<briefdescription visible="yes"/> <briefdescription visible="yes"/>
<detaileddescription title=""/>
<includes visible="$SHOW_INCLUDE_FILES"/> <includes visible="$SHOW_INCLUDE_FILES"/>
<includegraph visible="$INCLUDE_GRAPH"/> <includegraph visible="$INCLUDE_GRAPH"/>
<includedbygraph visible="$INCLUDED_BY_GRAPH"/> <includedbygraph visible="$INCLUDED_BY_GRAPH"/>
@ -123,7 +124,6 @@
<variables title=""/> <variables title=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription title=""/>
<memberdef> <memberdef>
<inlineclasses title=""/> <inlineclasses title=""/>
<defines title=""/> <defines title=""/>
@ -138,13 +138,14 @@
<!-- Layout definition for a group page --> <!-- Layout definition for a group page -->
<group> <group>
<briefdescription visible="yes"/> <briefdescription visible="yes"/>
<detaileddescription title=""/>
<groupgraph visible="$GROUP_GRAPHS"/> <groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl> <memberdecl>
<classes visible="yes" title=""/>
<nestedgroups visible="yes" title=""/> <nestedgroups visible="yes" title=""/>
<dirs visible="yes" title=""/> <dirs visible="yes" title=""/>
<files visible="yes" title=""/> <files visible="yes" title=""/>
<namespaces visible="yes" title=""/> <namespaces visible="yes" title=""/>
<classes visible="yes" title=""/>
<defines title=""/> <defines title=""/>
<typedefs title=""/> <typedefs title=""/>
<enums title=""/> <enums title=""/>
@ -160,7 +161,6 @@
<friends title=""/> <friends title=""/>
<membergroups visible="yes"/> <membergroups visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription title=""/>
<memberdef> <memberdef>
<pagedocs/> <pagedocs/>
<inlineclasses title=""/> <inlineclasses title=""/>
@ -184,11 +184,11 @@
<!-- Layout definition for a directory page --> <!-- Layout definition for a directory page -->
<directory> <directory>
<briefdescription visible="yes"/> <briefdescription visible="yes"/>
<detaileddescription title=""/>
<directorygraph visible="yes"/> <directorygraph visible="yes"/>
<memberdecl> <memberdecl>
<dirs visible="yes"/> <dirs visible="yes"/>
<files visible="yes"/> <files visible="yes"/>
</memberdecl> </memberdecl>
<detaileddescription title=""/>
</directory> </directory>
</doxygenlayout> </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. # title of most generated pages and in a few other places.
# The default value is: My Project. # 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 # 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 # 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 # 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. # 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 # 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 # 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 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. # sources. Doxygen will then generate output that is tailored for Prolog.
# The default value is: NO. # 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 # Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen. # 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 # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable # 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 # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty. # 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 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 # 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/yap-6.3/packages/cplint/mcintyre.pl
#Input = /Users/vsc/git/0yap-6.3/packages/R/R.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 # INPUT = docs/yap.md swi/library/aggregate.pl
@ -1392,7 +1392,7 @@ DISABLE_INDEX = NO
# The default value is: NO. # The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES. # 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 # 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. # doxygen will group on one line in the generated HTML documentation.
@ -1506,7 +1506,7 @@ MATHJAX_CODEFILE =
# The default value is: YES. # The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to 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 # 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 # implemented using a web server instead of a web client using Javascript. There
@ -1518,7 +1518,7 @@ SEARCHENGINE = NO
# The default value is: NO. # The default value is: NO.
# This tag requires that the tag SEARCHENGINE is set to YES. # 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 # 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 # 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. # The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES. # 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 # 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 # 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} 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. 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 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. 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 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 Wielemaker. Our thanks to the author for his kind permission in allowing
us to include his text in this document. us to include his text in this document.
\endhtmlonly
## Introduction ## 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 high-performance Prolog compiler developed at LIACC, Universidade do
Porto. YAP provides several important features: Porto. YAP provides several important features:
+ Speed: YAP is widely considered one of the fastest available + Speed: YAP is widely considered one of the fastest
Prolog systems. available Prolog systems.
+ Functionality: it supports stream Input/Output, sockets, modules, + Functionality: it supports stream Input/Output, sockets, modules,
exceptions, Prolog debugger, C-interface, dynamic code, internal exceptions, Prolog debugger, C-interface, dynamic code, internal
database, DCGs, saved states, co-routining, arrays, threads. 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), 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, Foreign Language Interface, and the RDF, archive, clib, http, odbc, plunit,
semweb, sgml, and zlib packages written by Jan Wielemaker. 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 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 AVL_Trees
+ @ref Exo_Intervals + @ref Exo_Intervals
+ @ref Heaps + @ref Heaps
@ -871,7 +868,7 @@ The YAP Library {#library}
+ @ref PseudoRandom + @ref PseudoRandom
+ @ref RedhYBlack_Trees + @ref rbtrees
+ @ref RegExp + @ref RegExp
@ -918,6 +915,8 @@ The YAP Packages {#packages}
+ @ref ProbLog1 + @ref ProbLog1
+ @ref python
+ @ref YAPRaptor + @ref YAPRaptor
+ @ref YAP-LBFGS + @ref YAP-LBFGS
@ -1006,7 +1005,7 @@ YAP was designed so that most C-Prolog programs should run under YAP
without changes. without changes.
The most important difference between YAP and C-Prolog is that, being The most important difference between YAP and C-Prolog is that, being
YAP a compiler, some changes should be made if predicates such as 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 predicates which will change during execution should be declared as
`dynamic` by using commands like: `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) + The following SICStus Prolog v3 built-ins are not (currently)
implemented in YAP (note that this is only a partial list): implemented in YAP (note that this is only a partial list):
`stream_interrupt/3`, `reinitialize/0`, `help/0`, `help/1`, stream_interrupt/3, reinitialize/0, help/0, help/1,
`trimcore/0`, and `require/1`. trimcore/0, and require/1.
+ The consult/1 predicate in YAP follows C-Prolog + The consult/1 predicate in YAP follows C-Prolog
semantics. That is, it adds clauses to the data base, even for 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 + By default, YAP implements the
atom_chars/2( (see Testing Terms)), and atom_chars/2 (see Testing Terms), and
number_chars/2, ( (see Testing Terms)), number_chars/2, (see Testing Terms),
built-ins as per the original Quintus Prolog definition, and built-ins as per the original Quintus Prolog definition, and
not as per the ISO definition. not as per the ISO definition.

View File

@ -1,7 +1,7 @@
/** /**
@defgroup YAPControl Control Predicates @defgroup YAPControl Control Predicates
@ingroup YAPBuiltins @ingroup builtins
@{ @{
*/ */
@ -334,7 +334,7 @@ Increase stack size _Size_ kilobytes
*/ */
/** @defgroup Undefined_Procedures Handling Undefined Procedures /** @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 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 /** @defgroup Messages Message Handling
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The interaction between YAP and the user relies on YAP's ability to 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 /** @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 /** @defgroup Predicates_on_Atoms Predicates on Atoms
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The following predicates are used to manipulate atoms: The following predicates are used to manipulate atoms:
@ -1083,7 +1083,7 @@ sub-strings of _A_.
*/ */
/** @defgroup Predicates_on_Characters Predicates on Characters /** @defgroup Predicates_on_Characters Predicates on Characters
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The following predicates are used to manipulate characters: The following predicates are used to manipulate characters:
@ -1203,7 +1203,7 @@ atom_chars/2 and atom_codes/2.
*/ */
/** @defgroup Comparing_Terms Comparing Terms /** @defgroup Comparing_Terms Comparing Terms
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The following predicates are used to compare and order terms, using the The following predicates are used to compare and order terms, using the
@ -1374,7 +1374,7 @@ of length _S_.
*/ */
/** @defgroup Arithmetic Arithmetic /** @defgroup Arithmetic Arithmetic
@ingroup YAPBuiltins @ingroup builtins
@{ @{
@copydoc arithmetic @copydoc arithmetic
@ -1389,7 +1389,7 @@ of length _S_.
*/ */
/** @defgroup InputOutput Input/Output Predicates /** @defgroup InputOutput Input/Output Predicates
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Some of the Input/Output predicates described below will in certain conditions 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 /** @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 /** @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 /** @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 /** @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 /** @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 /** @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 /** @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 /** @defgroup Sockets Using Sockets From YAP
@ingroup YAPBuiltins @ingroup builtins
@{ @{
YAP includes a SICStus Prolog compatible socket interface. In YAP-6.3 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 /** @defgroup Database Using the Clausal Data Base
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Predicates in YAP may be dynamic or static. By default, when 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 /** @defgroup Modifying_the_Database Modification of the Data Base
@ingroup YAPBuiltins @ingroup builtins
@{ @{
These predicates can be used either for static or for dynamic 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 /** @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 /** @defgroup Database_References Using Data Base References
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Data Base references are a fast way of accessing terms. The predicates 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 /** @defgroup Internal_Database Internal Data Base
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Some programs need global information for, e.g. counting or collecting Some programs need global information for, e.g. counting or collecting
@ -3703,7 +3703,7 @@ This predicate is YAP specific.
*/ */
/** @defgroup BlackBoard The Blackboard /** @defgroup BlackBoard The Blackboard
@ingroup YAPBuiltins @ingroup builtins
@{ @{
YAP implements a blackboard in the style of the SICStus Prolog 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 /** @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 When there are several solutions to a goal, if the user wants to collect all
@ -3891,7 +3891,7 @@ no
*/ */
/** @defgroup Grammars Grammar Rules /** @defgroup Grammars Grammar Rules
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Grammar rules in Prolog are both a convenient way to express definite 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 /** @defgroup OS Access to Operating System Functionality
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The following built-in predicates allow access to underlying The following built-in predicates allow access to underlying
@ -4278,7 +4278,7 @@ order of dispatch.
*/ */
/** @defgroup Term_Modification Term Modification /** @defgroup Term_Modification Term Modification
@ingroup YAPBuiltins @ingroup builtins
@{ @{
It is sometimes useful to change the value of instantiated 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 /** @defgroup Global_Variables Global Variables
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Global variables are associations between names (atoms) and Global variables are associations between names (atoms) and
@ -4568,7 +4568,7 @@ compound terms.
*/ */
/** @defgroup Profiling Profiling Prolog Programs /** @defgroup Profiling Profiling Prolog Programs
@ingroup YAPBuiltins @ingroup builtins
@{ @{
YAP includes two profilers. The count profiler keeps information on the YAP includes two profilers. The count profiler keeps information on the
@ -4587,7 +4587,7 @@ implementation.
*/ */
/** @defgroup The_Count_Profiler The Count Profiler /** @defgroup The_Count_Profiler The Count Profiler
@ingroup YAPBuiltins @ingroup builtins
@{ @{
*Notes:* *Notes:*
@ -4660,7 +4660,7 @@ Reset all profiling information.
*/ */
/** @defgroup Tick_Profiler Tick Profiler /** @defgroup Tick_Profiler Tick Profiler
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The tick profiler works by interrupting the Prolog code every so often 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 /** @defgroup Call_Counting Counting Calls
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Predicates compiled with YAP's flag call_counting set to 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 /** @defgroup Arrays Arrays
@ingroup YAPBuiltins @ingroup builtins
@{ @{
The YAP system includes experimental support for arrays. The The YAP system includes experimental support for arrays. The
@ -5042,7 +5042,7 @@ terms.
*/ */
/** @defgroup Preds Predicate Information /** @defgroup Preds Predicate Information
@ingroup YAPBuiltins @ingroup builtins
@{ @{
Built-ins that return information on the current predicates and modules: 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 /** @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 Library files reside in the library_directory path (set by the
`LIBDIR` variable in the Makefile for YAP). Currently, `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 /** @defgroup Aggregate Aggregate
@ingroup YAPLibrary @ingroup library
@{ @{
This is the SWI-Prolog library based on the Quintus and SICStus 4 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 /** @defgroup Apply Apply Macros
@ingroup YAPLibrary @ingroup library
@{ @{
This library provides a SWI-compatible set of utilities for applying a 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 /** @defgroup Association_Lists Association Lists
@ingroup YAPLibrary @ingroup library
@{ @{
The following association list manipulation predicates are available The following association list manipulation predicates are available
@ -6262,7 +6262,7 @@ have key _Key_.
*/ */
/** @defgroup AVL_Trees AVL Trees /** @defgroup AVL_Trees AVL Trees
@ingroup YAPLibrary @ingroup library
@{ @{
AVL trees are balanced search binary trees. They are named after their 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 /** @defgroup Exo_Intervals Exo Intervals
@ingroup YAPLibrary @ingroup library
@{ @{
This package assumes you use exo-compilation, that is, that you loaded 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 /** @defgroup Gecode Gecode Interface
@ingroup YAPPackages @ingroup packages
@{ @{
@ -6898,7 +6898,7 @@ minimise variable _V_
*/ */
/** @defgroup Heaps Heaps /** @defgroup Heaps Heaps
@ingroup YAPLibrary @ingroup library
@{ @{
A heap is a labelled binary tree where the key of each node is less than 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 /** @defgroup Lists List Manipulation
@ingroup YAPLibrary @ingroup library
@{ @{
The following list manipulation routines are available once included The following list manipulation routines are available once included
@ -7296,7 +7296,7 @@ See ord_subtract/3.
*/ */
/** @defgroup LineUtilities Line Manipulation Utilities /** @defgroup LineUtilities Line Manipulation Utilities
@ingroup YAPLibrary @ingroup library
@{ @{
This package provides a set of useful predicates to manipulate 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 /** @defgroup matrix Matrix Library
@ingroup YAPLibrary @ingroup library
@{ @{
This package provides a fast implementation of multi-dimensional 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 /** @defgroup MATLAB MATLAB Package Interface
@ingroup YAPLibrary @ingroup library
@{ @{
The MathWorks MATLAB is a widely used package for array 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 /** @defgroup NonhYBacktrackable_Data_Structures Non-Backtrackable Data Structures
@ingroup YAPLibrary @ingroup library
@{ @{
The following routines implement well-known data-structures using global The following routines implement well-known data-structures using global
@ -8461,7 +8461,7 @@ Succeeds if _Beam_ is empty.
*/ */
/** @defgroup Ordered_Sets Ordered Sets /** @defgroup Ordered_Sets Ordered Sets
@ingroup YAPLibrary @ingroup library
@{ @{
The following ordered set manipulation routines are available once 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 /** @defgroup Pseudo_Random Pseudo Random Number Integer Generator
@ingroup YAPLibrary @ingroup library
@{ @{
The following routines produce random non-negative integers in the range 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 /** @defgroup Queues Queues
@ingroup YAPLibrary @ingroup library
@{ @{
The following queue manipulation routines are available once 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 /** @defgroup Random Random Number Generator
@ingroup YAPLibrary @ingroup library
@{ @{
The following random number operations are included with the 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 /** @defgroup Read_Utilities Read Utilities
@ingroup YAPLibrary @ingroup library
@{ @{
The `readutil` library contains primitives to read lines, files, 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 /** @defgroup RedhYBlack_Trees Red-Black Trees
@ingroup YAPLibrary @ingroup library
@{ @{
Red-Black trees are balanced search binary trees. They are named because Red-Black trees are balanced search binary trees. They are named because
@ -9207,7 +9207,7 @@ list _L_.
*/ */
/** @defgroup RegExp Regular Expressions /** @defgroup RegExp Regular Expressions
@ingroup YAPLibrary @ingroup library
@{ @{
This library includes routines to determine whether a regular expression 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 /** @defgroup shlib SWI-Prolog's shlib library
@ingroup YAPLibrary @ingroup library
@{ @{
This section discusses the functionality of the (autoload) This section discusses the functionality of the (autoload)
@ -9473,7 +9473,7 @@ loaded shared libraries.
*/ */
/** @defgroup Splay_Trees Splay Trees /** @defgroup Splay_Trees Splay Trees
@ingroup YAPLibrary @ingroup library
@{ @{
Splay trees are explained in the paper "Self-adjusting Binary Search 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 /** @defgroup String_InputOutput Reading From and Writing To Strings
@ingroup YAPLibrary @ingroup library
@{ @{
From Version 4.3.2 onwards YAP implements SICStus Prolog compatible 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 /** @defgroup System Calling The Operating System from YAP
@ingroup YAPLibrary @ingroup library
@{ @{
YAP now provides a library of system utilities compatible with the 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 /** @defgroup Terms Utilities On Terms
@ingroup YAPLibrary @ingroup library
@{ @{
The next routines provide a set of commonly used utilities to manipulate 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 /** @defgroup Tries Trie DataStructure
@ingroup YAPLibrary @ingroup library
@{ @{
The next routines provide a set of utilities to create and manipulate 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 /** @defgroup Cleanup Call Cleanup
@ingroup YAPLibrary @ingroup library
@{ @{
<tt>call_cleanup/1</tt> and <tt>call_cleanup/2</tt> allow predicates to register <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 /** @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 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 /** @defgroup Trees Updatable Binary Trees
@ingroup YAPLibrary @ingroup library
@{ @{
The following queue manipulation routines are available once The following queue manipulation routines are available once
@ -10602,7 +10602,7 @@ Is the converse operation to list_to_tree.
*/ */
/** @defgroup UGraphs Unweighted Graphs /** @defgroup UGraphs Unweighted Graphs
@ingroup YAPLibrary @ingroup library
@{ @{
The following graph manipulation routines are based in code originally The following graph manipulation routines are based in code originally
@ -10897,7 +10897,7 @@ V = [1,3,5]
*/ */
/** @defgroup DGraphs Directed Graphs /** @defgroup DGraphs Directed Graphs
@ingroup YAPLibrary @ingroup library
@{ @{
The following graph manipulation routines use the red-black tree 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 /** @defgroup UnDGraphs Undirected Graphs
@ingroup YAPLibrary @ingroup library
@{ @{
The following graph manipulation routines use the red-black tree graph 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 /** @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. This library provides a set of utilities for studying memory usage in YAP.
@ -11370,7 +11370,7 @@ than _Threshold_ bytes.
*/ */
/** @defgroup Lambda Lambda Expressions /** @defgroup Lambda Lambda Expressions
@ingroup YAPLibrary @ingroup library
@{ @{
This library, designed and implemented by Ulrich Neumerkel, provides 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 /** @defgroup LAM LAM
@ingroup YAPPackages @ingroup packages
@{ @{
This library provides a set of utilities for interfacing with LAM MPI. 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 /** @defgroup BDDs Binary Decision Diagrams and Friends
@ingroup YAPPackages @ingroup packages
@{ @{
This library provides an interface to the BDD package CUDD. It requires 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 /** @defgroup Block_Diagram Block Diagram
@ingroup YAPLibrary @ingroup library
@{ @{
This library provides a way of visualizing a prolog program using 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 /** @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 /** @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 /** @defgroup Compatibility_of_Global_Variables Compatibility of Global Variables
@ingroup YAPPackages @ingroup packages
@{ @{
Global variables have been introduced by various Prolog 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 /** @defgroup Rational_Trees Rational Trees
@ingroup YAPPackages @ingroup packages
@{ @{
Prolog unification is not a complete implementation. For efficiency 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 /** @defgroup CohYroutining Co-routining
@ingroup YAPPackages @ingroup packages
@{ @{
Prolog uses a simple left-to-right flow of control. It is sometimes Prolog uses a simple left-to-right flow of control. It is sometimes
@ -12410,7 +12410,7 @@ no
*/ */
/** @defgroup Attributed_Variables Attributed Variables /** @defgroup Attributed_Variables Attributed Variables
@ingroup YAPPackages @ingroup packages
@{ @{
YAP supports attributed variables, originally developed at OFAI by 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 /** @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. 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 /** @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 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 /** @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>, 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 /** @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 @section CHR CHR: Constraint Handling Rules
@ingroup YAPPackages @ingroup packages
This chapter is written by Tom Schrijvers, K.U. Leuven for the hProlog This chapter is written by Tom Schrijvers, K.U. Leuven for the hProlog
system. Adjusted by Jan Wielemaker to fit the SWI-Prolog documentation 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 /** @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 /** @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 /** @defgroup CHR_Guidelines Guidelines
@ingroup YAPPackages @ingroup packages
@{ @{
@ -13922,7 +13922,7 @@ Make sure to disable debug (`-nodebug`) and enable optimization
*/ */
/** @defgroup Logtalk Logtalk /** @defgroup Logtalk Logtalk
@ingroup YAPPackages @ingroup packages
@{ @{
The Logtalk object-oriented extension is available after running its The Logtalk object-oriented extension is available after running its
@ -13938,7 +13938,7 @@ please see the URL <http://logtalk.org/>.
*/ */
/** @defgroup Threads Threads /** @defgroup Threads Threads
@ingroup YAPBuiltins @ingroup builtins
@{ @{
YAP implements a SWI-Prolog compatible multithreading 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 /** @defgroup Parallelism Parallelism
@ingroup YAPPackages @ingroup packages
@{ @{
There has been a sizeable amount of work on an or-parallel There has been a sizeable amount of work on an or-parallel
@ -14681,7 +14681,7 @@ releases.
*/ */
/** @defgroup Tabling Tabling /** @defgroup Tabling Tabling
@ingroup YAPBuiltins @ingroup builtins
@{ @{
*YAPTab* is the tabling engine that extends YAP's execution *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 /** @defgroup Low_Level_Tracing Tracing at Low Level
@ingroup YAPBuiltins @ingroup builtins
@{ @{
It is possible to follow the flow at abstract machine level if 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 /** @defgroup Debugging Debugging
@ingroup YAPBuiltins @ingroup builtins
@{ @{