168 lines
5.7 KiB
HTML
168 lines
5.7 KiB
HTML
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
|
|
|
<title>YAP Prolog</title>
|
|
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="balanced2/css/common.css">
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="balanced2/css/screen.css">
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="balanced2/css/print.css">
|
|
<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="balanced2/css/projection.css">
|
|
|
|
<style type="text/css">
|
|
.style1 {
|
|
text-align: justify;
|
|
}
|
|
.style2 {
|
|
text-align: left;
|
|
}
|
|
.style3 {
|
|
text-align: center;
|
|
font-size: medium;
|
|
}
|
|
.style4 {
|
|
font-size: xx-small;
|
|
}
|
|
</style>
|
|
|
|
</head>
|
|
|
|
<body><!-- lang="en" dir="ltr"> -->
|
|
<div id="mastwrap">
|
|
|
|
<div id="masthead">
|
|
<a class="imageLink"> </a>
|
|
|
|
<div id="sisternav">
|
|
<ul>
|
|
<li id="current">
|
|
<a href="index.html">Main</a>
|
|
</li>
|
|
|
|
<li id="plain">
|
|
<a href="downloads.html">Downloads</a>
|
|
</li>
|
|
<li id="plain">
|
|
<a href="documentation.html">Documentation</a>
|
|
</li>
|
|
<li id="plain">
|
|
<a href="packages.html">Packages</a>
|
|
|
|
</li>
|
|
<li id="plain">
|
|
<a href="applications.html">Applications</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
|
|
</div> <!-- of masthead -->
|
|
</div> <!-- of mastwrap -->
|
|
|
|
|
|
<a id="top"></a>
|
|
|
|
<blockquote>
|
|
<h2>:- Yet Another Prolog</h2>
|
|
<table border="0" width="80%" id="table1">
|
|
<tr>
|
|
<td style="border-style: none; border-width: medium;width: 426px">
|
|
<img src="Coppe.gif"></td>
|
|
|
|
<td style="border-style: none; border-width: medium;width: 401px">
|
|
<p class="style3">
|
|
<img src="up_hp.gif" style="float: right">UNIVERSIDADE <br>
|
|
DO PORTO</p>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<p class="style1"><strong>YAP</strong> is a high-performance Prolog compiler
|
|
developed at <a href="http://www.ncc.up.pt/liacc">LIACC</a>/<a href="http://www.up.pt">Universidade
|
|
do Porto</a> and at <a href="http://www.cos.ufrj.br/">COPPE Sistemas</a>/<a href="http://www.ufrj.br/">UFRJ</a>.
|
|
Its Prolog engine is based in the WAM (Warren Abstract Machine), with
|
|
several optimizations for better performance. <strong>YAP</strong> follows
|
|
the Edinburgh tradition, and is largely compatible with the ISO-Prolog
|
|
standard and with Quintus and SICStus Prolog. <strong>YAP</strong> 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
|
|
<strong>YAP</strong> strives at several goals: </p>
|
|
|
|
<ul>
|
|
<li class="style2">
|
|
<p class="style1">Portability: The whole system is now written in C.
|
|
<strong>YAP</strong> 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. </p>
|
|
</li>
|
|
<li class="style2">
|
|
<p class="style1">Performance: We have optimised the emulator to obtain
|
|
performance comparable to or better than well-known Prolog systems. In
|
|
fact, the current version of <strong>YAP</strong> performs better than
|
|
the original one, written in assembly language. </p>
|
|
|
|
</li>
|
|
<li>
|
|
<p class="style1">Robustness: We have tested the system with a large
|
|
array of Prolog applications. </p>
|
|
</li>
|
|
<li class="style2">
|
|
<p class="style1">Extensibility: <strong>YAP</strong> 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 <strong>YAP</strong> extends
|
|
these principles to accomodate extensions to the unification algorithm,
|
|
that we believe will be useful to implement extensions such as
|
|
constraint programming.</p>
|
|
|
|
</li>
|
|
<li class="style2">
|
|
<p class="style1">Completeness: <strong>YAP</strong> 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 <strong>YAP</strong> aims now at being compatible with the Prolog
|
|
standard. </p>
|
|
|
|
</li>
|
|
<li class="style2">
|
|
<p class="style1">Openess: We would like to make new development of
|
|
<strong>YAP</strong> open to the user community. </p>
|
|
</li>
|
|
<li class="style2">
|
|
<p class="style1">Research: <strong>YAP</strong> has been a vehicle for
|
|
research within and outside our group. Currently research is going on on
|
|
parallelisation and tabulation, and support for <a href="clpbn">Bayesian
|
|
Networks</a>. </p>
|
|
|
|
</li>
|
|
</ul>
|
|
<p class="style1">YAP 4.0 and early versions of YAP 4.1 were distributed
|
|
under a <a href="license.html">license</a> that enables free use in academic
|
|
environments. From Yap4.1.15 onwards YAP is distributed under Perls's
|
|
<a href="Artistic">Artistic</a> license. We would like to follow an open
|
|
development model: sources to the system are always made available from the
|
|
home page, and contributions from users are most welcome! </p>
|
|
|
|
<p class="style1">Mirrors of this page are available at
|
|
<a href="http://yap.sourceforge.net/">sourceforge</a>, at
|
|
<a href="http://www.ncc.up.pt/~vsc/Yap">Universidade do Porto</a>, and at
|
|
<a href="http://www.cos.ufrj.br/~vitor/Yap">Universidade Federal do Rio de
|
|
Janeiro</a> (the one in Rio currently has problems). </p>
|
|
|
|
<P>
|
|
|
|
|
|
|
|
<p align="right">
|
|
<br />
|
|
|
|
<!-- <b>Warning</b>: fread(): Length parameter must be greater than 0. in <b>/home/vsc/public_html/Yap/index.html</b> on line <b>166</b><br /> -->
|
|
<!-- <br> -->
|
|
<!-- <span class="style4">(Accesses since December 2005)</span> -->
|
|
|
|
</blockquote>
|
|
|
|
</body>
|
|
|
|
</html>
|