a few typos corrected
git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@82 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
parent
12db2be4aa
commit
8148b93679
24
docs/yap.tex
24
docs/yap.tex
@ -1,4 +1,4 @@
|
|||||||
\input texinfo @c -*-texinfo-*-
|
\input texinfo @c -*- mode: texinfo; coding: latin-1; -*-
|
||||||
|
|
||||||
@c %**start of header
|
@c %**start of header
|
||||||
@setfilename yap.info
|
@setfilename yap.info
|
||||||
@ -7381,10 +7381,10 @@ number is Operating System dependent.
|
|||||||
@cnindex file_property/2
|
@cnindex file_property/2
|
||||||
The atom @var{File} corresponds to an existing file, and @var{Property}
|
The atom @var{File} corresponds to an existing file, and @var{Property}
|
||||||
will be unified with a property of this file. The poperties are of the
|
will be unified with a property of this file. The poperties are of the
|
||||||
form @code{type(@var{Type))}, which gives whether the file is a regular
|
form @code{type(@var{Type})}, which gives whether the file is a regular
|
||||||
file, a directory, a fifo file, or of unknown type;
|
file, a directory, a fifo file, or of unknown type;
|
||||||
@code{size(@var{Size))}, with gives the size for a file, and
|
@code{size(@var{Size})}, with gives the size for a file, and
|
||||||
@code{mod_time(@var{Time))}, which gives the last time a file was
|
@code{mod_time(@var{Time})}, which gives the last time a file was
|
||||||
modified according to some Operating System dependent
|
modified according to some Operating System dependent
|
||||||
timestamp. Properties can be obtained through backtracking:
|
timestamp. Properties can be obtained through backtracking:
|
||||||
|
|
||||||
@ -8048,13 +8048,13 @@ suspended.
|
|||||||
YAP now supports the attributed variables packaged developed at OFAI by
|
YAP now supports the attributed variables packaged developed at OFAI by
|
||||||
Christian Holzbaur. Attributes are a means of declaring that an
|
Christian Holzbaur. Attributes are a means of declaring that an
|
||||||
arbitrary term is a property for a variable. These properties can be
|
arbitrary term is a property for a variable. These properties can be
|
||||||
update during forward execution. Moreover, the unification algorithm is
|
updated during forward execution. Moreover, the unification algorithm is
|
||||||
aware of attributed variables and will call user defined handlers when
|
aware of attributed variables and will call user defined handlers when
|
||||||
trying to unify these variables.
|
trying to unify these variables.
|
||||||
|
|
||||||
Attributed variables provide an elegant abstraction over which one can
|
Attributed variables provide an elegant abstraction over which one can
|
||||||
extend Prolog systems. Their main application so far has been in
|
extend Prolog systems. Their main application so far has been in
|
||||||
implement constraint handlers, such as Holzbaur's CLPQR and Fruewirth
|
implementing constraint handlers, such as Holzbaur's CLPQR and Fruewirth
|
||||||
and Holzbaur's CHR, but other applications have been proposed in the
|
and Holzbaur's CHR, but other applications have been proposed in the
|
||||||
literature.
|
literature.
|
||||||
|
|
||||||
@ -8108,7 +8108,7 @@ where each @var{AttributeSpec} has the form (@var{Name}/@var{Arity}).
|
|||||||
One single such declaration is allowed per module @var{Module}.
|
One single such declaration is allowed per module @var{Module}.
|
||||||
|
|
||||||
Although the YAP module system is predicate based, attributes are local
|
Although the YAP module system is predicate based, attributes are local
|
||||||
to modules. This is is implemented by rewriting all calls to the
|
to modules. This is implemented by rewriting all calls to the
|
||||||
builtins that manipulate attributes so that attribute names are
|
builtins that manipulate attributes so that attribute names are
|
||||||
preprocessed depending on the module. The @code{user:goal_expansion/3}
|
preprocessed depending on the module. The @code{user:goal_expansion/3}
|
||||||
mechanism is used for this purpose.
|
mechanism is used for this purpose.
|
||||||
@ -8220,8 +8220,8 @@ a @var{Goal}. Should fail when no interpretation is available.
|
|||||||
|
|
||||||
@node Projecting Attributes, Attribute Examples, Displaying Attributes, Attributed Variables
|
@node Projecting Attributes, Attribute Examples, Displaying Attributes, Attributed Variables
|
||||||
|
|
||||||
Constraint solvers must be able project a set of constraints to a set of
|
Constraint solvers must be able to project a set of constraints to a set
|
||||||
variables. This is useful when displaying the solution to a goal, but
|
of variables. This is useful when displaying the solution to a goal, but
|
||||||
may also be used to manipulate computations. The user-defined
|
may also be used to manipulate computations. The user-defined
|
||||||
@code{project_attributes/2} is responsible for implementing this
|
@code{project_attributes/2} is responsible for implementing this
|
||||||
projection.
|
projection.
|
||||||
@ -8253,7 +8253,7 @@ and these constraints are the ones that will have an
|
|||||||
@node Attribute Examples, ,Projecting Attributes, Attributed Variables
|
@node Attribute Examples, ,Projecting Attributes, Attributed Variables
|
||||||
|
|
||||||
The following two examples example is taken from the SICStus Prolog manual. It
|
The following two examples example is taken from the SICStus Prolog manual. It
|
||||||
sketchs the implementation of simple a finite domain ``solver''. Note
|
sketches the implementation of a simple finite domain ``solver''. Note
|
||||||
that an industrial strength solver would have to provide a wider range
|
that an industrial strength solver would have to provide a wider range
|
||||||
of functionality and that it quite likely would utilize a more efficient
|
of functionality and that it quite likely would utilize a more efficient
|
||||||
representation for the domains proper. The module exports a single
|
representation for the domains proper. The module exports a single
|
||||||
@ -8317,7 +8317,7 @@ domain(X, List) :-
|
|||||||
|
|
||||||
Note that the ``implied binding'' @code{Other=El} was deferred until after
|
Note that the ``implied binding'' @code{Other=El} was deferred until after
|
||||||
the completion of @code{verify_attribute/3}. Otherwise, there might be a
|
the completion of @code{verify_attribute/3}. Otherwise, there might be a
|
||||||
danger of recursively invoke @code{verify_attribute/3}, which might bind
|
danger of recursively invoking @code{verify_attribute/3}, which might bind
|
||||||
@code{Var}, which is not allowed inside the scope of @code{verify_attribute/3}.
|
@code{Var}, which is not allowed inside the scope of @code{verify_attribute/3}.
|
||||||
Deferring unifications into the third argument of @code{verify_attribute/3}
|
Deferring unifications into the third argument of @code{verify_attribute/3}
|
||||||
effectively serializes th calls to @code{verify_attribute/3}.
|
effectively serializes th calls to @code{verify_attribute/3}.
|
||||||
@ -13046,5 +13046,3 @@ The following is the list of the declarations of the predefined operators:
|
|||||||
@contents
|
@contents
|
||||||
|
|
||||||
@bye
|
@bye
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user