moving icons around
This commit is contained in:
parent
c0aa90bc38
commit
d6c6cecb27
@ -30,6 +30,7 @@ yap.md
|
||||
find_package(Doxygen)
|
||||
option(WITH_DOCUMENTATION "Create and install the HTML based API documentation (requires Doxygen)" ${DOXYGEN_FOUND})
|
||||
|
||||
|
||||
if(WITH_DOCUMENTATION)
|
||||
if(NOT DOXYGEN_FOUND)
|
||||
message(FATAL_ERROR "Doxygen is needed to build the documentation.")
|
||||
|
@ -8,9 +8,9 @@
|
||||
#
|
||||
# All text after a single hash (#) is considered a comment and will be ignored.
|
||||
# The format is:
|
||||
# TAG = value [value, ...]
|
||||
# TAG = value [value, file.]
|
||||
# For lists, items can also be appended using:
|
||||
# TAG += value [value, ...]
|
||||
# TAG += value [value, file.]
|
||||
# Values that contain spaces should be placed between quotes (\" \").
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
@ -407,7 +407,7 @@ TYPEDEF_HIDES_STRUCT = NO
|
||||
# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
|
||||
# doxygen will become slower. If the cache is too large, memory is wasted. The
|
||||
# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
|
||||
# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
|
||||
# is 0file9, the default is 0, corresponding to a cache size of 2^16=65536
|
||||
# symbols. At the end of a run doxygen will report the cache usage and suggest
|
||||
# the optimal cache size from a speed point of view.
|
||||
# Minimum value: 0, maximum value: 9, default value: 0.
|
||||
@ -636,8 +636,8 @@ GENERATE_BUGLIST = YES
|
||||
GENERATE_DEPRECATEDLIST= YES
|
||||
|
||||
# The ENABLED_SECTIONS tag can be used to enable conditional documentation
|
||||
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
|
||||
# ... \endcond blocks.
|
||||
# sections, marked by \if <section_label> file. \endif and \cond <section_label>
|
||||
# file. \endcond blocks.
|
||||
|
||||
ENABLED_SECTIONS =
|
||||
|
||||
@ -1094,6 +1094,7 @@ HTML_FILE_EXTENSION = .html
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_HEADER =
|
||||
|
||||
#@CMAKE_SOURCE_DIR@/docs/web/bootstrap/header.html
|
||||
|
||||
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
|
||||
@ -1105,6 +1106,7 @@ HTML_HEADER =
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_FOOTER =
|
||||
|
||||
#@CMAKE_SOURCE_DIR@/docs/web/bootstrap/footer.html
|
||||
|
||||
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
|
||||
@ -1118,6 +1120,7 @@ HTML_FOOTER =
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_STYLESHEET =
|
||||
|
||||
#@CMAKE_SOURCE_DIR@/docs/web/bootstrap/customdoxygen.css
|
||||
|
||||
# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
|
||||
@ -1131,7 +1134,9 @@ HTML_STYLESHEET =
|
||||
# list). For an example see the documentation.
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/docs/solarized-light.css
|
||||
HTML_EXTRA_STYLESHEET =
|
||||
|
||||
# @CMAKE_SOURCE_DIR@/docs/solarized-light.css
|
||||
|
||||
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
|
||||
# other source files which should be copied to the HTML output directory. Note
|
||||
@ -1142,6 +1147,7 @@ HTML_EXTRA_STYLESHEET = @CMAKE_SOURCE_DIR@/docs/solarized-light.css
|
||||
# This tag requires that the tag GENERATE_HTML is set to YES.
|
||||
|
||||
HTML_EXTRA_FILES =
|
||||
|
||||
#@CMAKE_SOURCE_DIR@/docs/web/bootstrap/doxy-boot.js
|
||||
|
||||
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
|
||||
@ -1489,7 +1495,7 @@ MATHJAX_FORMAT = HTML-CSS
|
||||
# output directory using the MATHJAX_RELPATH option. The destination directory
|
||||
# should contain the MathJax.js script. For instance, if the mathjax directory
|
||||
# is located at the same level as the HTML output directory, then
|
||||
# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax
|
||||
# MATHJAX_RELPATH should be file/mathjax. The default value points to the MathJax
|
||||
# Content Delivery Network so you can quickly see the result without installing
|
||||
# MathJax. However, it is strongly recommended to install a local copy of
|
||||
# MathJax from http://www.mathjax.org before deployment.
|
||||
@ -1886,7 +1892,7 @@ MAN_LINKS = NO
|
||||
# captures the structure of the code including all documentation.
|
||||
# The default value is: NO.
|
||||
|
||||
GENERATE_XML = NO
|
||||
GENERATE_XML = YES
|
||||
|
||||
# The XML_OUTPUT tag is used to specify where the XML pages will be put. If a
|
||||
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
|
||||
@ -2069,7 +2075,7 @@ SKIP_FUNCTION_MACROS = YES
|
||||
# a tag file without this location is as follows:
|
||||
# TAGFILES = file1 file2 ...
|
||||
# Adding location for the tag files is done as follows:
|
||||
# TAGFILES = file1=loc1 "file2 = loc2" ...
|
||||
# TAGFILES = file1=loc1 "file2 = loc2" file.
|
||||
# where loc1 and loc2 can be relative or absolute paths or URLs. See the
|
||||
# section "Linking to external documentation" for more information about the use
|
||||
# of tag files.
|
||||
|
129
docs/yap.md
129
docs/yap.md
@ -54,30 +54,23 @@ us to include his text in this document.
|
||||
|
||||
This document provides User information on version 6.3.4 of
|
||||
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.
|
||||
|
||||
+ Functionality: it supports stream Input/Output, sockets, modules,
|
||||
high-performance Prolog compiler developed at Universidade do
|
||||
Porto. YAP 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),
|
||||
with several optimizations for better performance. YAP follows the
|
||||
Edinburgh tradition, and was originally designed to be largely
|
||||
compatible with DEC-10 Prolog, Quintus Prolog, and especially with
|
||||
C-Prolog.
|
||||
C-Prolog. More recently, we have worked on being compatible with SICStus Prolog and with SWI-Prolog.
|
||||
|
||||
YAP implements most of the ISO-Prolog standard. We are striving at
|
||||
full compatibility, and the manual describes what is still
|
||||
missing. The manual also includes a (largely incomplete) comparison
|
||||
with SICStus Prolog.
|
||||
|
||||
missing.
|
||||
The document is intended neither as an introduction to Prolog nor to the
|
||||
implementation aspects of the compiler. A good introduction to
|
||||
programming in Prolog is the book @cite TheArtOfProlog , by
|
||||
@ -85,16 +78,13 @@ L. Sterling and E. Shapiro, published by "The MIT Press, Cambridge
|
||||
MA". Other references should include the classical @cite ProgrammingInProlog , by W.F. Clocksin and C.S. Mellish, published by
|
||||
Springer-Verlag.
|
||||
|
||||
YAP 4.3 is known to build with many versions of gcc (\<= gcc-2.7.2, \>=
|
||||
gcc-2.8.1, \>= egcs-1.0.1, gcc-2.95.\*) and on a variety of Unixen:
|
||||
SunOS 4.1, Solaris 2.\*, Irix 5.2, HP-UX 10, Dec Alpha Unix, Linux 1.2
|
||||
and Linux 2.\* (RedHat 4.0 thru 5.2, Debian 2.\*) in both the x86 and
|
||||
alpha platforms. It has been built on Windows NT 4.0 using Cygwin from
|
||||
Cygnus Solutions (see README.nt) and using Visual C++ 6.0.
|
||||
YAP 6.3.4 has been built with the gcc and clang compilers on Linux and OSX machines. We expect to recover support for WIN32 machines and
|
||||
Android next.
|
||||
|
||||
The overall copyright and permission notice for YAP4.3 can be found in
|
||||
the Artistic file in this directory. YAP follows the Perl Artistic
|
||||
license, and it is thus non-copylefted freeware.
|
||||
license, and it is thus non-copylefted freeware. Some components of YAP have been obtained from SWI Prolog and ciao, and have
|
||||
different ;icenses.
|
||||
|
||||
If you have a question about this software, desire to add code, found a
|
||||
bug, want to request a feature, or wonder how to get further assistance,
|
||||
@ -104,7 +94,7 @@ subscribe to the mailing list, visit the page
|
||||
|
||||
On-line documentation is available for YAP at:
|
||||
|
||||
<http://www.ncc.up.pt/~vsc/YAP/>
|
||||
<http://www.ncc.up.pt/~vsc/yAP/>
|
||||
|
||||
Recent versions of YAP, including both source and selected binaries,
|
||||
can be found from this same URL.
|
||||
@ -115,7 +105,7 @@ manual is largely based on the DECsystem-10 Prolog User's Manual by
|
||||
D.L. Bowen, L. Byrd, F. C. N. Pereira, L. M. Pereira, and
|
||||
D. H. D. Warren. We have used comments from the Edinburgh Prolog
|
||||
library written by R. O'Keefe. Documentation from many built-ins is
|
||||
originally from the SWI-Prolog manual, with the gracious uathorization
|
||||
originally from the SWI-Prolog manual, with the gracious authorization
|
||||
from
|
||||
Jan Wielemaker. We would also like to gratefully
|
||||
acknowledge the contributions from Ashwin Srinivasian.
|
||||
@ -147,15 +137,7 @@ Buenabad, Inês Dutra and Vítor Santos Costa.
|
||||
|
||||
+ The JPL (Java-Prolog Library) package developed by .
|
||||
|
||||
+ The Logtalk Object-Oriented system is developed at the University
|
||||
of Beira Interior, Portugal, by Paulo Moura:
|
||||
|
||||
<http://logtalk.org/>
|
||||
|
||||
Logtalk is no longer distributed with YAP. Please use the Logtalk standalone
|
||||
installer for a smooth integration with YAP.
|
||||
|
||||
+ The minisat SAT solver interface developed by Michael Codish,
|
||||
The minisat SAT solver interface developed by Michael Codish,
|
||||
Vitaly Lagoon, and Peter J. Stuckey.
|
||||
|
||||
+ The MYDDAS relational data-base interface developed at the
|
||||
@ -190,14 +172,7 @@ and
|
||||
|
||||
<https://github.com/vscosta/yap-6.3>
|
||||
|
||||
Several packages are shared with SWI-Prolog and need to be obtained
|
||||
from separate repositories. Proceed as follows:
|
||||
|
||||
~~~~~~
|
||||
cd yap-6.3
|
||||
git submodule init
|
||||
git submodule update
|
||||
~~~~~~
|
||||
YAP-6.3.4 does not use repositories. Please just use `git clone` to obtain the distribution.
|
||||
|
||||
Most of these repositories are basically copies of the original
|
||||
repositories at the SWI-Prolog site. YAP-6 will work either with or
|
||||
@ -206,27 +181,19 @@ without these packages.
|
||||
Installing YAP {#install}
|
||||
==============
|
||||
|
||||
YAP is a `configure` based system. We discuss how to use `configure`
|
||||
YAP is a `ccmake` based system. We discuss how to use `cmake`
|
||||
to install YAP, and what are the major options.
|
||||
|
||||
Compiling YAP {#CompilingYAP}
|
||||
-------------
|
||||
|
||||
|
||||
To compile YAP it should be sufficient to:
|
||||
|
||||
1 `autoconf`. Recent versions of YAP try to follow GNU
|
||||
conventions on where to place software.
|
||||
2 create a directory, say `Build`.
|
||||
|
||||
+ The main executable is placed at _$BINDIR_. This executa§ble is
|
||||
actually a script that calls the Prolog engine, stored at _$LIBDIR_.
|
||||
obs: please avoid compiling YAP in the src directory, some packages do not allow for that.
|
||||
|
||||
+ _$LIBDIR_ is the directory where libraries are stored. YAPLIBDIR is a
|
||||
subdirectory that contains the Prolog engine and a Prolog library.
|
||||
|
||||
+ _$INCLUDEDIR_ is used if you want to use YAP as a library.
|
||||
|
||||
+ _$INFODIR_ is where to store `info` files. Usually /usr/local/info, /usr/info, or /usr/share/info.
|
||||
1 run `cmake`, ideally using a cmake above 3.0.
|
||||
|
||||
2 `make`.
|
||||
|
||||
@ -240,58 +207,62 @@ To compile YAP it should be sufficient to:
|
||||
Tuning the Functionality of YAP
|
||||
-------------------------------
|
||||
|
||||
Compiling YAP with the standard options give you a plain vanilla
|
||||
Prolog. You can tune YAP to include extra functionality by calling
|
||||
`configure` with the appropriate options:
|
||||
By default, YAP supports tabling, depth first search, and most features found in
|
||||
modern Prologs. In some cases, you may want to suport extra features, or reduce system size.
|
||||
`cmake`provides an graphical interface for doing so. From the commmand line, a typical example could be:
|
||||
|
||||
+ `--enable-rational-trees=yes` gives you support for infinite
|
||||
rational trees.
|
||||
~~~~~
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~
|
||||
~~~~~
|
||||
|
||||
+ `--enable-coroutining=yes` gives you support for coroutining,
|
||||
including freezing of goals, attributed variables, and
|
||||
constraints. This will also enable support for infinite rational
|
||||
trees.
|
||||
Options include:
|
||||
|
||||
+ `--enable-depth-limit=yes` allows depth limited evaluation, say for
|
||||
implementing iterative deepening.
|
||||
+ `CMAKE_BUILD_TYPE`: the two main options are Debug, for system development, and Release. to use the system.
|
||||
|
||||
+ `--enable-low-level-tracer=yes` allows support for tracing all calls,
|
||||
+ `CMAKE_INSTALL_PREFIX`: where to install YAP
|
||||
|
||||
+ WITH_DEPTH_LIMIT allows depth limited evaluation, say for
|
||||
implementing iterative deepening (default)
|
||||
|
||||
+ `WITH_CALL_TRACER` allows support for tracing all calls,
|
||||
retries, and backtracks in the system. This can help in debugging your
|
||||
application, but results in performance loss.
|
||||
application, but results in performance loss (enabled in Debug).
|
||||
|
||||
+ `--enable-wam-profile=yes` allows profiling of abstract machine
|
||||
+ `WITH_WAM_PROFILER` allows profiling of abstract machine
|
||||
instructions. This is useful when developing YAP, should not be so
|
||||
useful for normal users.
|
||||
useful for normal users (not currently supportted)
|
||||
|
||||
+ `--enable-condor=yes` allows using the Condor system that
|
||||
+ `WITH_YAP_CONDOR` allows using the Condor system that
|
||||
support High Throughput Computing (HTC) on large collections of
|
||||
distributively owned computing resources.
|
||||
distributively owned computing resources (not yet available)
|
||||
|
||||
+ `--enable-tabling=yes` allows tabling support. This option
|
||||
is still experimental.
|
||||
+ `WITH_TABLING` allows tabling support (default)
|
||||
|
||||
+ `--enable-parallelism={env-copy,sba,a-cow}` allows
|
||||
or-parallelism supported by one of these three forms. This option is
|
||||
+ `WITH_YAPOR_COPY` allows
|
||||
or-parallelism according to the Muse-based, YapOR model. This option is
|
||||
still highly experimental.
|
||||
|
||||
+ `--with-max-workers` allows definition of the maximum
|
||||
/*+ `--with-max-workers` allows definition of the maximum
|
||||
number of parallel processes (its value can be consulted at runtime
|
||||
using the flag `max_workers`).
|
||||
using the flag `max_workers`).*/
|
||||
|
||||
+ `--with-gmp[=DIR]` give a path to where one can find the
|
||||
`GMP` library if not installed in the default path.
|
||||
+ `WITH_GMP` give a path to where one can find the
|
||||
`GMP` library if not installed in the default path. It is highly advised to have GMP in your compilation environment.
|
||||
|
||||
+ `--enable-threads` allows using of the multi-threading
|
||||
+ `WITH_READLINE` give a path to where one can find the
|
||||
`readline` library if not installed in the default path. It is highly advised in Unix-like environments.
|
||||
|
||||
+ `-WITH_Threads` allows using of the multi-threading
|
||||
predicates provided by YAP. Depending on the operating system, the
|
||||
option `--enable-pthread-locking` may also need to be used.
|
||||
|
||||
+ `--with-max-threads` allows definition of the maximum
|
||||
/*+ `--with-max-threads` allows definition of the maximum
|
||||
number of threads (the default value is 1024; its value can be consulted
|
||||
at runtime using the flag [max_threads](@ref max_threads)).
|
||||
at runtime using the flag [max_threads](@ref max_threads)).*/
|
||||
|
||||
|
||||
|
||||
Next section discusses machine dependent details.
|
||||
Next section discusses machine dependent details, and it is out-of-date.
|
||||
|
||||
Tuning YAP for a Particular Machine and Compiler {#Machine_Options}
|
||||
------------------------------------------------
|
||||
|
Reference in New Issue
Block a user