This chapter defines the terminology which is used throughout the manual and in related documentation.
Goal_1, Goal_2, ..., Goal_kor simply
GoalEach Goal_i must be a callable term.
f(t_1, t_2, ..., t_n)where f is the functor of the compound term and t_i are terms, n is its arity. Lists and Pairs are also compound terms.
Head.where Head is a structure or an atom. A fact may be considered to be a rule whose body is always true.
[a , b , c]is shorthand for:
[a | [b | [c | []]]]
[H|T]H is the head of the pair and T its tail.
Head :- Body.i.e. a compound term with the functor :-/2, or only a fact.
:- Goal_1, ..., Goal_k.or
?- Goal_1, ..., Goal_k.
name_1/a_1, name_2/a_2, ..., name_k/a_k.The SpecList notation is used in many built-ins, for example, to specify a list of procedures in the global/1 predicate.
input, output, error, toplevel_input, toplevel_output, answer_output, debug_input, debug_output, user, null, stdin, stdout, stderr.
The notation Pred/N1, N2 is often used in this documentation as a shorthand for Pred/N1, Pred/N2.