- ...required
- The dynamic loading feature may not be available
on certain machines
- ...ProcClause
- It should be remembered that because of the
definition of the syntax of a term, to assert a procedure of the form p
:- q,r it is necessary to enclose it in parentheses:
assert((p:-q,r)).
- ...it
-
in case you don't use modules this is the module eclipse
- ...place
- An example of using this feature
is the library ifdef.
- ...it
-
This is in fact ambiguous; the system predicate compiled_stream/1
which is exported from the module sepia_kernel
is more precise.
- ...files
- This style is not recommended.
- ...predicate
- The standard approach
is to index only on the first argument
- ...alternative
- this is controlled by an automatic scheduler.
- ...eclipse
- Please note that current_predicate_body/2 and
get_flag_body/4 are the tool bodies of current_predicate/1
and get_flag/3. They must be imported from sepia_kernel to be
used.
- ...underscore
-
When the library rationals is loaded, rationals are printed
and accepted in the more familiar form of e.g. 1/3.
For compatibility reasons, this syntax is not the default one.
- ...float_precision
-
Since single and double floats do not unify, the float_precision
flag should not be switched during execution to avoid confusing behaviour.
- ...builtins
- Note that this optimisation is only done
in :- nodbgcomp mode
- ...variant
-
Though this feature could be used to make a copy of a term with new variables,
it is cleaner and more efficient to use copy_term/2 for that purpose
- ...results
- A similar problem can occur when the global counter is used
by an interrupt handler
- ...environment
- Note that this
means that for File to be an atom it will often have to be quoted, since
many file names will have non alphanumeric characters in their names, e.g.
`program.pl'
- ...stream
-
For compatibility with previous versions, the form
open(String, string(Size), Stream)
is also supported, however, the given size is not significant
- ...goal
- type(goal) stands for suspensions.
- ...global
-
So that the user can redefine it with a local one.
- ...discarded
-
This is necessary because the compiler recognises simple
predicates as deterministic at compile time and so if a
simple predicate would cause the invocation of a non-deterministic
error handler, the generated code may no longer be correct.
- ...procedure
-
Indeed it is entirely possible to assign an external predicate (one
written in a language other than Prolog) as an error handler.
- ...independent
-
Note that since the interrupt handler has only one optional argument
which is a number, it cannot bind any variables in the current resolvent.
- ...needed
- provided that the underlying
operating system supports this
- ...visible
- The packet boundaries are not of much
interest in Prolog because every Prolog term represents itself
a message with clear boundaries.
- ...load/1
- This predicate is dependent on the
UNIX facility for dynamic loading.
Micha Meier
Mon Mar 4 12:11:45 MET 1996