YAP

Registered by David Vaz

YAP is a high-performance Prolog compiler developed at CRACS and LIACC/Universidade do Porto.

YAP is a high-performance Prolog compiler developed at CRACS and LIACC/Universidade do Porto. Its Prolog engine is based in the WAM (Warren Abstract Machine), with several optimizations for better performance. YAP follows the Edinburgh tradition, and is largely compatible with the ISO-Prolog standard and with Quintus and SICStus Prolog. YAP has been developed since 1985. The original version was written in assembly, C and Prolog, and achieved high performance on m68k based machines. The assembly code was used to implement the WAM emulators. Later emulators supported the VAX, SPARC, and MIPS architectures. Work on the more recent version of YAP strives at several goals:

Portability: The whole system is now written in C. YAP compiles in popular 32 bit machines, such as Suns and Linux PCs, and in a 64 bit machines, the Alphas running OSF Unix and Linux.
Performance: We have optimised the emulator to obtain performance comparable to or better than well-known Prolog systems. In fact, the current version of YAP performs better than the original one, written in assembly language.
Robustness: We have tested the system with a large array of Prolog applications.
Extensibility: YAP was designed internally from the beginning to encapsulate manipulation of terms. These principles were used, for example, to implement a simple and powerful C-interface. The new version of YAP extends these principles to accomodate extensions to the unification algorithm, that we believe will be useful to implement extensions such as constraint programming.
Completeness: YAP has for a long time provided most builtins expected from a Edinburgh Prolog implementation. These include I/O functionality, data-base operations, and modules. Work on YAP aims now at being compatible with the Prolog standard.
Openess: We would like to make new development of YAP open to the user community.
Research: YAP has been a vehicle for research within and outside our group. Currently research is going on on parallelisation and tabulation, and support for Bayesian Networks.

Project information

Maintainer:
David Vaz
Driver:
Not yet selected
Licence:
GNU LGPL v2.1

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

lp:yap 

Version control system:
Bazaar

All packages Packages in Distributions

Get Involved

  • warning
    Report a bug
  • warning
    Ask a question
  • warning
    Help translate

Downloads

YAP does not have any download files registered with Launchpad.