YAP is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, high-performance implementation of the
Prolog
Prolog is a logic programming language associated with artificial intelligence and computational linguistics.
Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
developed at LIACC/
Universidade do Porto
The Universiade is an international multi-sport event, organized for university athletes by the International University Sports Federation (FISU). The name is a portmanteau of the words "University" and "Olympiad".
The Universiade is referred t ...
and at COPPE Sistemas/
UFRJ
The Federal University of Rio de Janeiro or University of Brazil (UFRJ; pt, Universidade Federal do Rio de Janeiro or ') is a public university, public research university located in the state of Rio de Janeiro (state), Rio de Janeiro, Brazil. ...
. Its Prolog engine is based in the WAM (
Warren Abstract Machine In 1983, David H. D. Warren designed an abstract machine for the execution of Prolog consisting of a memory architecture and an instruction set. This design became known as the Warren Abstract Machine (WAM) and has become the ''de facto'' standard ...
), with several optimizations for better performance. YAP follows the Edinburgh tradition, and is largely compatible with the ISO-Prolog standard and with
Quintus Prolog and
SICStus Prolog
Prolog is a logic programming language associated with artificial intelligence and computational linguistics.
Prolog has its roots in first-order logic, a formal logic, and unlike many other programming languages, Prolog is intended primarily a ...
. YAP has been developed since 1985. The original version was written in assembly, C and Prolog, and achieved high performance on
m68k
The Motorola 68000 series (also known as 680x0, m68000, m68k, or 68k) is a family of 32-bit complex instruction set computer (CISC) microprocessors. During the 1980s and early 1990s, they were popular in personal computers and workstations and w ...
-based machines.
See also
*
Comparison of Prolog implementations
The following Comparison of Prolog implementations provides a reference for the relative feature sets and performance of different implementations of the Prolog computer programming language.
Portability
There are Prolog implementations that are ...
External links
YAP Prolog website
Free compilers and interpreters
Prolog programming language family
{{compu-lang-stub