Ulrich: [PATCH-YAP] DOC: copy_term/3

This commit is contained in:
Vitor Santos Costa 2009-05-18 07:36:00 -07:00
parent cfec78de06
commit 62118e3a0c

View File

@ -3264,7 +3264,15 @@ Also refer to @code{copy_term/2}.
@cnindex copy_term/3
Term @var{TF} is a variant of the original term @var{TI}, such that for
each variable @var{V} in the term @var{TI} there is a new variable @var{V'}
in term @var{TF}. Attributed variables are converted to standard variables and the list @var{Goals} is unified with a set of goals that can be used to restore the constraints, by calling @code{attribute_goals/3} before copying is performed.
in term @var{TF} without any attributes attached. Attributed
variables are thus converted to standard variables. @var{Goals} is
unified with a list that represents the attributes. The goal
@code{maplist(call,@var{Goals})} can be called to recreate the
attributes.
Before the actual copying, @code{copy_term/3} calls
@code{attribute_goals/1} in the module where the attribute is
defined.
@end table
@ -7706,7 +7714,7 @@ from a modern Prolog system. Moreover, because most Prolog
implementations do not fully implement the standard and because the
standard itself gives the implementor latitude in a few important
questions, such as the unification algorithm and maximum size for
numbers there is not guarantee that programs compliant with this mode
numbers there is no guarantee that programs compliant with this mode
will work the same way in every Prolog and in every platform. We thus
believe this mode is mostly useful when investigating how a program
depends on a Prolog's platform specific features.
@ -11988,7 +11996,7 @@ unifying terms. As an example, @code{X = a(X)} will not fail but instead
will create an infinite term of the form @code{a(a(a(a(a(...)))))}, or
@emph{rational tree}.
Rational trees are no supported by default in YAP. In previous
Rational trees are now supported by default in YAP. In previous
versions, this was not the default and these terms could easily lead
to infinite computation. For example, @code{X = a(X), X = X} would
enter an infinite loop.
@ -15340,7 +15348,7 @@ compatible built-in.
@item The following SICStus Prolog v3 built-ins are not (currently)
implemented in YAP (note that this is only a partial list):
@code{call_cleanup/1}, @code{file_search_path/2},
@code{file_search_path/2},
@code{stream_interrupt/3}, @code{reinitialize/0}, @code{help/0},
@code{help/1}, @code{trimcore/0}, @code{load_files/1},
@code{load_files/2}, and @code{require/1}.
@ -15355,12 +15363,6 @@ releases of SICStus Prolog.
execution through the @code{assert_static/1} and @code{abolish/1}
built-ins. This is not allowed in Quintus Prolog or SICStus Prolog.
@item YAP implements rational trees and co-routining but they
are not included by default in the system. You must enable these
extensions when compiling the system.
@item YAP does not currently implement constraints.
@item The socket predicates, although designed to be compatible with
SICStus Prolog, are built-ins, not library predicates, in YAP.