Corrected some spelling typos.

git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@1538 b08c6af1-5177-4d33-ba66-4b1c6b8b522a
This commit is contained in:
pmoura 2006-02-08 19:13:11 +00:00
parent fbcfdb49a9
commit 42ca7aa79f

View File

@ -220,7 +220,7 @@ Subnodes of Attributes
Subnodes of SWI-Prolog Subnodes of SWI-Prolog
* Invoking Predicates on all Members of a List :: maplist and friends * Invoking Predicates on all Members of a List :: maplist and friends
* Forall :: forall builtin * Forall :: forall built-in
* hProlog and SWI-Prolog Attributed Variables :: Emulating SWI-like attributed variables * hProlog and SWI-Prolog Attributed Variables :: Emulating SWI-like attributed variables
* SWI-Prolog Global Variables :: Emulating SWI-like attributed variables * SWI-Prolog Global Variables :: Emulating SWI-like attributed variables
@ -575,7 +575,7 @@ and YAP will get two extra registers! This trick does not work on
SunOS 4 machines. SunOS 4 machines.
Note that versions of GCC can be tweaked to recognize different Note that versions of GCC can be tweaked to recognize different
processors within the same instruction set, eg, 486, Pentium, and processors within the same instruction set, e.g. 486, Pentium, and
PentiumPro for the x86; or Ultrasparc, and Supersparc for PentiumPro for the x86; or Ultrasparc, and Supersparc for
Sparc. Unfortunately, some of these tweaks do may make Yap run slower or Sparc. Unfortunately, some of these tweaks do may make Yap run slower or
not at all in other machines with the same instruction set, so they not at all in other machines with the same instruction set, so they
@ -992,7 +992,7 @@ main( [H|T] ) :-
@end example @end example
The @code{--} indicates the next arguments are not for YAP. Instead, The @code{--} indicates the next arguments are not for YAP. Instead,
they must be sent directly to the @code{argv} builtin. Hence, running they must be sent directly to the @code{argv} built-in. Hence, running
@example @example
./dump_args test ./dump_args test
@end example @end example
@ -1074,7 +1074,7 @@ Notes:
Since ',' is itself a pre-declared operator with type @i{xfy} and Since ',' is itself a pre-declared operator with type @i{xfy} and
precedence 1000, is @i{subterm} starts with a '(', @i{op} must be precedence 1000, is @i{subterm} starts with a '(', @i{op} must be
followed by a space to avoid ambiguity with the case of a functor followed by a space to avoid ambiguity with the case of a functor
followed by arguments, eg: followed by arguments, e.g.:
@example @example
@code{ + (a,b) [the same as '+'(','(a,b)) of arity one]} @code{ + (a,b) [the same as '+'(','(a,b)) of arity one]}
@ -1941,7 +1941,7 @@ where @code{call/1} was defined, that is, it only knows of
@code{primitives}. A similar problem arises for @code{assert/1} and @code{primitives}. A similar problem arises for @code{assert/1} and
friends. friends.
The @code{meta_call/1} declaration informs the system that some The @code{meta_predicate/1} declaration informs the system that some
arguments of a procedure are goals, clauses or clauses heads, and that arguments of a procedure are goals, clauses or clauses heads, and that
these arguments must be expanded to receive the current source module: these arguments must be expanded to receive the current source module:
@ -2258,7 +2258,7 @@ is converted to:
Call goal @var{H} once per each solution of goal @var{H}. If goal Call goal @var{H} once per each solution of goal @var{H}. If goal
@var{H} has no solutions, call goal @var{I}. @var{H} has no solutions, call goal @var{I}.
The builtin @code{if/3} is similar to @code{->/3}, with the difference The built-in @code{if/3} is similar to @code{->/3}, with the difference
that it will backtrack over the test goal. Consider the following that it will backtrack over the test goal. Consider the following
small data-base: small data-base:
@ -2835,7 +2835,7 @@ standard ordering:
@itemize @bullet @itemize @bullet
@item @item
variables come before numbers, numbers come before atoms which in turn variables come before numbers, numbers come before atoms which in turn
come before compound terms, ie: variables @@< numbers @@< atoms @@< come before compound terms, i.e.: variables @@< numbers @@< atoms @@<
compound terms. compound terms.
@item @item
variables are roughly ordered by "age" (the "oldest" variable is put variables are roughly ordered by "age" (the "oldest" variable is put
@ -3166,7 +3166,7 @@ atoms have a special meaning when present in arithmetic expressions:
@table @code @table @code
@item pi @item pi
The value of @emph{pi}, the ratio of a circle's circumrefence to its The value of @emph{pi}, the ratio of a circle's circumference to its
diameter. diameter.
@item e @item e
@ -4401,7 +4401,7 @@ YAP includes a SICStus Prolog compatible socket interface. This
is a low level interface that provides direct access to the major socket is a low level interface that provides direct access to the major socket
system calls. These calls can be used both to open a new connection in system calls. These calls can be used both to open a new connection in
the network or connect to a networked server. Socket connections are the network or connect to a networked server. Socket connections are
described as read/write streams, and standard I/O builtins can be used described as read/write streams, and standard I/O built-ins can be used
to write on or read from sockets. The following calls are available: to write on or read from sockets. The following calls are available:
@table @code @table @code
@ -4673,7 +4673,7 @@ away in future versions.
@var{PredSpec} is an unbound variable, delete all predicates for the @var{PredSpec} is an unbound variable, delete all predicates for the
current module. The current module. The
specification must include the name and arity, and it may include module specification must include the name and arity, and it may include module
information. Under @t{iso} language mode this builtin will only abolish information. Under @t{iso} language mode this built-in will only abolish
dynamic procedures. Under other modes it will abolish any procedures. dynamic procedures. Under other modes it will abolish any procedures.
@item abolish(+@var{P},+@var{N}) @item abolish(+@var{P},+@var{N})
@ -4913,7 +4913,7 @@ database reference is @var{R}. The predicate must be dynamic.
@node Internal Database, BlackBoard, Database References, Database @node Internal Database, BlackBoard, Database References, Database
@section Internal Data Base @section Internal Data Base
Some programs need global information for, eg., counting or collecting Some programs need global information for, e.g. counting or collecting
data obtained by backtracking. As a rule, to keep this information, the data obtained by backtracking. As a rule, to keep this information, the
internal data base should be used instead of asserting and retracting internal data base should be used instead of asserting and retracting
clauses (as most novice programmers do), . clauses (as most novice programmers do), .
@ -4946,7 +4946,7 @@ with its reference.
@findex recorda_at/3 @findex recorda_at/3
@snindex recorda_at/3 @snindex recorda_at/3
@cnindex recorda_at/3 @cnindex recorda_at/3
Makes term @var{T} the record preceeding record with reference Makes term @var{T} the record preceding record with reference
@var{R0}, and unifies @var{R} with its reference. @var{R0}, and unifies @var{R} with its reference.
@item recordz_at(+@var{R0},@var{T},-@var{R}) @item recordz_at(+@var{R0},@var{T},-@var{R})
@ -5220,7 +5220,7 @@ forget previous solutions.
YAP allows the programmer to choose from several system YAP allows the programmer to choose from several system
predicates instead of writing his own routines. @code{findall/3} gives you predicates instead of writing his own routines. @code{findall/3} gives you
the fastest, but crudest solution. The other built-in predicates the fastest, but crudest solution. The other built-in predicates
postprocess the result of the query in several different ways: post-process the result of the query in several different ways:
@table @code @table @code
@ -5442,7 +5442,7 @@ Changes the current directory (on UNIX environments).
@comment This backtrackable predicate unifies the first argument with an @comment This backtrackable predicate unifies the first argument with an
@comment environment variable @var{E}, and the second with its value @var{S}. It @comment environment variable @var{E}, and the second with its value @var{S}. It
@comment can used to detect all environment variables. @comment can used to detect all environment variables.
Given an enviromment variable @var{E} this predicate unifies the second argument @var{S} with its value. Given an environment variable @var{E} this predicate unifies the second argument @var{S} with its value.
@item getcwd(-@var{D}) @item getcwd(-@var{D})
@findex getcwd/1 @findex getcwd/1
@ -5850,7 +5850,7 @@ program. In more detail, the clause
@example @example
g(X) :- array_element(a,2,X). g(X) :- array_element(a,2,X).
@end example @end example
will succeed as long as the programmer has used the builtin @t{array/2} will succeed as long as the programmer has used the built-in @t{array/2}
to create an array term with at least 3 elements in the current to create an array term with at least 3 elements in the current
environment, and the array was associated with the name @code{a}. The environment, and the array was associated with the name @code{a}. The
element @code{X} is a Prolog term, so one can bind it and any such element @code{X} is a Prolog term, so one can bind it and any such
@ -6048,7 +6048,7 @@ Built-ins that return information on the current predicates and modules:
@cnindex current_module/1 @cnindex current_module/1
Succeeds if @var{M} are defined modules. A module is defined as soon as some Succeeds if @var{M} are defined modules. A module is defined as soon as some
predicate defined in the module is loaded, as soon as a goal in the predicate defined in the module is loaded, as soon as a goal in the
module is called, or as soon as it becomes the current typein module. module is called, or as soon as it becomes the current type-in module.
@item current_module(@var{M},@var{F}) @item current_module(@var{M},@var{F})
@findex current_module/2 @findex current_module/2
@ -6352,7 +6352,7 @@ Read-only flag telling the maximum arity of a functor. Takes the value
@* @*
Read-only flag telling the maximum integer in the Read-only flag telling the maximum integer in the
implementation. Depends on machine and Operating System implementation. Depends on machine and Operating System
architecture, and on whether YAP uses the @code{GMP} multiprecision architecture, and on whether YAP uses the @code{GMP} multi-precision
library. If @code{bounded} is false, requests for @code{max_integer} library. If @code{bounded} is false, requests for @code{max_integer}
will fail. will fail.
@ -6367,7 +6367,7 @@ architecture. It can be used to find the word size of the current machine.
@findex min_integer (yap_flag/2 option) @findex min_integer (yap_flag/2 option)
@* Read-only flag telling the minimum integer in the @* Read-only flag telling the minimum integer in the
implementation. Depends on machine and Operating System architecture, implementation. Depends on machine and Operating System architecture,
and on whether YAP uses the @code{GMP} multiprecision library. If and on whether YAP uses the @code{GMP} multi-precision library. If
@code{bounded} is false, requests for @code{min_integer} will fail. @code{bounded} is false, requests for @code{min_integer} will fail.
@item min_tagged_integer @item min_tagged_integer
@ -6782,7 +6782,7 @@ elements of @var{ListIn}.
@findex convlist/3 @findex convlist/3
@snindex convlist/3 @snindex convlist/3
@cnindex convlist/3 @cnindex convlist/3
A combination of maplist and selectlist: creates @var{ListOut} by A combination of @code{maplist} and @code{selectlist}: creates @var{ListOut} by
applying the predicate @var{Pred} to all list elements on which applying the predicate @var{Pred} to all list elements on which
@var{Pred} succeeds @var{Pred} succeeds
@ -7325,7 +7325,7 @@ and @var{Set2}.
@syindex ord_intersect/4 @syindex ord_intersect/4
@cnindex ord_intersect/4 @cnindex ord_intersect/4
Holds when Intersection is the ordered representation of @var{Set1} Holds when Intersection is the ordered representation of @var{Set1}
and @var{Set2}. @var{Diff} is the diffference between @var{Set2} and @var{Set1}. and @var{Set2}. @var{Diff} is the difference between @var{Set2} and @var{Set1}.
@item ord_seteq(+@var{Set1}, +@var{Set2}) @item ord_seteq(+@var{Set1}, +@var{Set2})
@findex ord_seteq/2 @findex ord_seteq/2
@ -7387,7 +7387,7 @@ Holds when @var{Union} is the union of @var{Set1} and @var{Set2} and
@cindex pseudo random @cindex pseudo random
The following routines produce random non-negative integers in the range The following routines produce random non-negative integers in the range
0 .. 2^(w-1) -1, where w is the word size available for integers, e.g., 0 .. 2^(w-1) -1, where w is the word size available for integers, e.g.
32 for Intel machines and 64 for Alpha machines. Note that the numbers 32 for Intel machines and 64 for Alpha machines. Note that the numbers
generated by this random number generator are repeatable. This generator generated by this random number generator are repeatable. This generator
was originally written by Allen Van Gelder and is based on Knuth Vol 2. was originally written by Allen Van Gelder and is based on Knuth Vol 2.
@ -7711,7 +7711,7 @@ to an input string. For example, consider the command
Considering only the rules given so far, @var{X} and @var{Y} could end up Considering only the rules given so far, @var{X} and @var{Y} could end up
with the values @code{"aabb"} and @code{"aa"}, @code{"aaab"} and with the values @code{"aabb"} and @code{"aa"}, @code{"aaab"} and
@code{"aaa"}, @code{"ab"} and @code{"a"}, or any of several other @code{"aaa"}, @code{"ab"} and @code{"a"}, or any of several other
combinations. To resolve this potential ambiguity regexp chooses among combinations. To resolve this potential ambiguity @code{regexp} chooses among
alternatives using the rule ``first then longest''. In other words, it alternatives using the rule ``first then longest''. In other words, it
considers the possible matches in order working from left to right considers the possible matches in order working from left to right
across the input string and the pattern, and it attempts to match longer across the input string and the pattern, and it attempts to match longer
@ -7824,7 +7824,7 @@ String I/O. The library allows users to read from and write to a memory
buffer as if it was a file. The memory buffer is built from or converted buffer as if it was a file. The memory buffer is built from or converted
to a string of character codes by the routines in library. Therefore, if to a string of character codes by the routines in library. Therefore, if
one wants to read from a string the string must be fully instantiated one wants to read from a string the string must be fully instantiated
before the library builtin opens the string for reading. These commands before the library built-in opens the string for reading. These commands
are available through the @code{use_module(library(charsio))} command. are available through the @code{use_module(library(charsio))} command.
@table @code @table @code
@ -7947,7 +7947,7 @@ the memory buffer.
@end table @end table
The implementation of the character IO operations relies on three YAP The implementation of the character IO operations relies on three YAP
builtins: built-ins:
@table @code @table @code
@item charsio:open_mem_read_stream(+@var{String}, -@var{Stream}) @item charsio:open_mem_read_stream(+@var{String}, -@var{Stream})
@ -7963,7 +7963,7 @@ difference list of character codes @var{L-L0}.
@end table @end table
@noindent @noindent
These builtins are initialized to belong to the module @code{charsio} in These built-ins are initialized to belong to the module @code{charsio} in
@code{init.yap}. Novel procedures for manipulating strings by explicitly @code{init.yap}. Novel procedures for manipulating strings by explicitly
importing these built-ins. importing these built-ins.
@ -8110,7 +8110,7 @@ Create a directory @var{Dir}. The name of the directory must be an atom.
@syindex rename_file/2 @syindex rename_file/2
@cnindex rename_file/2 @cnindex rename_file/2
Create file @var{OldFile} to @var{NewFile}. This predicate uses the Create file @var{OldFile} to @var{NewFile}. This predicate uses the
@code{C} builtin function @code{rename}. @code{C} built-in function @code{rename}.
@item environ(?@var{EnvVar},+@var{EnvValue}) @item environ(?@var{EnvVar},+@var{EnvValue})
@ -8554,7 +8554,7 @@ and the neighbors of each vertex are also in standard order (as
produced by sort). This form is convenient for many calculations. produced by sort). This form is convenient for many calculations.
@end itemize @end itemize
These builtins are available once included with the These built-ins are available once included with the
@code{use_module(library(ugraphs))} command. @code{use_module(library(ugraphs))} command.
@table @code @table @code
@ -8788,7 +8788,7 @@ V = [1,3,5]
@menu SWI-Prolog Emulation @menu SWI-Prolog Emulation
Subnodes of SWI-Prolog Subnodes of SWI-Prolog
* Invoking Predicates on all Members of a List :: maplist and friends * Invoking Predicates on all Members of a List :: maplist and friends
* Forall :: forall builtin * Forall :: forall built-in
* hProlog and SWI-Prolog Attributed Variables :: Emulating SWI-like attributed variables * hProlog and SWI-Prolog Attributed Variables :: Emulating SWI-like attributed variables
* SWI-Prolog Global Variables :: Emulating SWI-like attributed variables * SWI-Prolog Global Variables :: Emulating SWI-like attributed variables
@end menu @end menu
@ -8828,7 +8828,7 @@ The @code{RATIONAL_TREES} flag improves support for these
terms. Internal primitives are now aware that these terms can exist, and terms. Internal primitives are now aware that these terms can exist, and
will not enter infinite loops. Hence, the previous unification will will not enter infinite loops. Hence, the previous unification will
succeed. Another example, @code{X = a(X), ground(X)} will succeed succeed. Another example, @code{X = a(X), ground(X)} will succeed
instead of looping. Other affected builtins include the term comparison instead of looping. Other affected built-ins include the term comparison
primitives, @code{numbervars/3}, @code{copy_term/2}, and the internal primitives, @code{numbervars/3}, @code{copy_term/2}, and the internal
data base routines. The support does not extend to Input/Output routines data base routines. The support does not extend to Input/Output routines
or to @code{assert/1} YAP does not allow directly reading or to @code{assert/1} YAP does not allow directly reading
@ -9018,7 +9018,7 @@ 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 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 built-ins 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.
@ -9037,9 +9037,9 @@ operators. The prefix @t{+} may be dropped for convenience.
@end enumerate @end enumerate
The following three procedures are available to the user. Notice that The following three procedures are available to the user. Notice that
these builtins are rewritten by the system into internal builtins, and these built-ins are rewritten by the system into internal built-ins, and
that the rewriting process @emph{depends} on the module on which the that the rewriting process @emph{depends} on the module on which the
builtins have been invoked. built-ins have been invoked.
@table @code @table @code
@item @var{Module}:get_atts(@var{-Var},@var{?ListOfAttributes}) @item @var{Module}:get_atts(@var{-Var},@var{?ListOfAttributes})
@ -9116,7 +9116,7 @@ Succeed if @var{Var} is an attributed variable.
@section Displaying Attributes @section Displaying Attributes
Attributes are usually presented as goals. The following routines are Attributes are usually presented as goals. The following routines are
used by builtin predicates such as @code{call_residue/2} and by the used by built-in predicates such as @code{call_residue/2} and by the
Prolog top-level to display attributes: Prolog top-level to display attributes:
@table @code @table @code
@ -10020,7 +10020,7 @@ that this option is of most interest to implementers, as it quickly generates
an huge amount of information. an huge amount of information.
Low level tracing can be toggled from an interrupt handler by using the Low level tracing can be toggled from an interrupt handler by using the
option @code{T}. There are also two builtins that activate and option @code{T}. There are also two built-ins that activate and
deactivate low level tracing: deactivate low level tracing:
@table @code @table @code
@ -11414,7 +11414,7 @@ Look for the next solution to the current query by forcing YAP to backtrack.
@item @code{int} YAP_Reset(@code{void}) @item @code{int} YAP_Reset(@code{void})
@findex YAP_Reset/0 @findex YAP_Reset/0
Reset execution environment (similar to the @code{abort/0} Reset execution environment (similar to the @code{abort/0}
builtin). This is useful when you want to start a new query before built-in). This is useful when you want to start a new query before
asking all solutions to the previous query. asking all solutions to the previous query.
@item @code{YAP_Bool} YAP_GoalHasException(@code{YAP_Term *tp}) @item @code{YAP_Bool} YAP_GoalHasException(@code{YAP_Term *tp})
@ -11477,7 +11477,7 @@ space for your program.
@item The initial library includes the complete YAP system. In @item The initial library includes the complete YAP system. In
the future we plan to split this library into several smaller libraries the future we plan to split this library into several smaller libraries
(e.g., if you do not want to perform I/O). (e.g. if you do not want to perform I/O).
@item You can generate your own saved states. Look at the @item You can generate your own saved states. Look at the
@code{boot.yap} and @code{init.yap} files. @code{boot.yap} and @code{init.yap} files.
@ -11648,7 +11648,7 @@ compatible built-in.
@item Prolog flags are different in SICStus Prolog and in YAP. @item Prolog flags are different in SICStus Prolog and in YAP.
@item The SICStus Prolog @code{on_exception/3} and @item The SICStus Prolog @code{on_exception/3} and
@code{raise_exception} built-ins correspond to the ISO builtins @code{raise_exception} built-ins correspond to the ISO built-ins
@code{catch/3} and @code{throw/1}. @code{catch/3} and @code{throw/1}.
@item The following SICStus Prolog v3 built-ins are not (currently) @item The following SICStus Prolog v3 built-ins are not (currently)
@ -11666,7 +11666,7 @@ releases of SICStus Prolog.
@item YAP allows asserting and abolishing static code during @item YAP allows asserting and abolishing static code during
execution through the @code{assert_static/1} and @code{abolish/1} execution through the @code{assert_static/1} and @code{abolish/1}
builtins. This is not allowed in Quintus Prolog or SICStus Prolog. built-ins. This is not allowed in Quintus Prolog or SICStus Prolog.
@item YAP implements rational trees and co-routining but they @item YAP implements rational trees and co-routining but they
are not included by default in the system. You must enable these are not included by default in the system. You must enable these