YAP Development release
This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Vitor Santos Costa 4628adc63e Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
BEAM allow the option to have priorities above 1200 2015-12-15 08:38:56 +00:00
C Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
CVSROOT mode changes 2011-07-25 17:09:28 +01:00
CXX compilation support 2016-08-01 06:54:28 -05:00
H Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
JIT indenting; warning; exceptions; small fixes 2016-03-29 02:02:43 +01:00
LGPL change SWI stuff to swi directory. 2013-03-05 15:50:38 -06:00
OPTYap fix warning 2016-07-31 10:19:11 -05:00
PrologCommons add pointer to commons. 2014-11-05 07:43:48 +00:00
YAPDroid basic documentation 2016-06-17 16:38:47 +01:00
autoconf update README to refer to cmake, and to use MD format. 2016-02-18 13:20:49 +00:00
cmake Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
console fixes 2016-07-31 10:21:45 -05:00
docs cross_compiler 2016-04-05 08:13:21 +01:00
include Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
lib Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
library android 2016-07-31 10:26:36 -05:00
misc Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
os warnings and stream read wchar simplification 2016-08-01 19:17:56 -05:00
packages Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
pl android 2016-07-31 10:43:31 -05:00
regression Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
swi support plant 2016-07-31 11:35:10 -05:00
utf8proc compilation support 2016-08-01 06:54:28 -05:00
utils small fixes 2016-03-30 17:35:03 +01:00
.ctags avoid going into build directories 2016-02-11 05:58:21 -08:00
.gitignore new version of cuda interface 2016-07-31 10:14:02 -05:00
.gitmodules stop using submodule 2015-10-13 08:17:51 +01:00
Artistic Updated the YAP license to the final version of the "The Artistic License 2.0" (see http://www.perlfoundation.org/legal/ for details). 2006-09-27 18:09:14 +00:00
CMakeLists.txt myddas cleanups 2016-08-01 19:16:39 -05:00
COPYING mode changes 2011-07-25 17:09:28 +01:00
ChangeLog Avoid complaining from strlen 2015-09-21 17:05:36 -05:00
DisabledFeatures.txt Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
EnabledFeatures.txt Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
GIT get rid of wrong docs. 2010-06-14 08:46:58 +01:00
GitSHA1.c.in git versioning 2015-06-19 01:14:28 +01:00
INSTALL.md update instructions 2016-07-31 12:43:35 -05:00
NEWS Avoid complaining from strlen 2015-09-21 17:05:36 -05:00
Packages.cmake new make configuration 2016-07-31 10:19:58 -05:00
Prelims.cmake new make setup 2016-07-31 11:35:57 -05:00
README Avoid complaining from strlen 2015-09-21 17:05:36 -05:00
README.EAM.html eamconsult can now be used to pre-compile simple prolog code. 2006-04-08 15:12:08 +00:00
README.md duplcated data is bad 2016-02-19 19:30:09 +00:00
README.nt saved state should be startup.yss, not startup.yss, in case YAP looks up 2009-05-02 14:06:24 -05:00
TO_DO upgrade to 5.1.4 2008-06-18 10:02:27 +00:00
Threads.cmake new make setup 2016-07-31 11:35:57 -05:00
Untitled Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
YapTermConfig.h.cmake JIT 2015-01-20 03:00:42 +00:00
changes-5.0.html more files ;-). 2005-10-28 17:57:25 +00:00
changes-5.1.html more locking fixes 2008-08-13 01:16:26 +00:00
changes-6.0.html changes for pdf generation in ProbLog. 2010-08-31 15:53:43 -05:00
changes.css library(system) plus several new support builtins 2001-05-21 20:00:05 +00:00
changes4.3.html move to 4.5.3 2004-03-08 19:31:01 +00:00
compile_commands.json mostly fixes for Android 2016-04-22 18:27:25 +01:00
config.h.cmake malloc 2016-07-31 10:21:09 -05:00
distribute mode changes 2011-07-25 17:09:28 +01:00
example.py Avoid complaining from strlen 2015-09-21 17:05:36 -05:00
heap_top_ Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
hh Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
libYap.cmake compilation support 2016-08-01 06:54:28 -05:00
libYap.cmakr Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00
test_answer.pl Merge branch 'master' of https://github.com/vscosta/yap-6.3 2016-08-01 21:45:42 -05:00

README.md

![The YAP Logo](docs/icons/yap_128x128x32.png)

README for YAP6

NOTE: this version of YAP is stil experimental, documentation may be out of date.

Introduction

This document provides User information on version 6.3.4 of YAP (Yet Another Prolog). The YAP Prolog System is a 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.

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. 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 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 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 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. Some components of YAP have been obtained from SWI Prolog and ciao, and have different licenses.

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, please send e-mail to . To subscribe to the mailing list, visit the page https://lists.sourceforge.net/lists/listinfo/yap-users.

On-line documentation is available for YAP

We are happy to include in YAP several excellent packages developed under separate licenses. Our thanks to the authors for their kind authorization to include these packages.

The packages are, in alphabetical order:

  • The CHR package developed by Tom Schrijvers, Christian Holzbaur, and Jan Wielemaker.

  • The CLP(BN) package and Horus toolkit developed by Tiago Gomes, and Vítor Santos Costa.

  • The CLP(R) package developed by Leslie De Koninck, Bart Demoen, Tom Schrijvers, and Jan Wielemaker, based on the CLP(Q,R) implementation by Christian Holzbaur.

  • The CPLint package developed by Fabrizio Riguzzi's research laboratory at the University of Ferrara

  • The CUDA interface package developed by Carlos Martínez, Jorge Buenabad, Inês Dutra and Vítor Santos Costa.

  • The GECODE interface package developed by Denys Duchier and Vítor Santos Costa.

  • The JPL (Java-Prolog Library) package developed by .

The minisat SAT solver interface developed by Michael Codish, Vitaly Lagoon, and Peter J. Stuckey.

  • The MYDDAS relational data-base interface developed at the Universidade do Porto by Tiago Soares, Michel Ferreira, and Ricardo Rocha.

  • The PRISM logic-based programming system for statistical modeling developed at the Sato Research Laboratory, TITECH, Japan.

  • The ProbLog 1 system developed by the ProbLog team in the DTAI group of KULeuven.

  • The R interface package developed by Nicos Angelopoulos, Vítor Santos Costa, João Azevedo, Jan Wielemaker, and Rui Camacho.

Downloading YAP

The latest development version of Yap-6 is yap-6.3.4 and can be obtained from the repositories

http://sourceforge.net/p/yap/yap-6.3

and

https://github.com/vscosta/yap-6.3

YAP-6.3.4 does not use modules. 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 without these packages.