moving icons around

This commit is contained in:
Vítor Santos Costa 2016-01-06 12:35:31 +00:00
parent c0aa90bc38
commit d6c6cecb27
3 changed files with 66 additions and 88 deletions

View File

@ -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.")

View File

@ -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.

View File

@ -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}
------------------------------------------------