Availability:built-in
[ISO]call(:Goal,
+ExtraArg1, ...)Append ExtraArg1, ExtraArg2, ... to the argument list of
Goal and call the result. For example, call(plus(1), 2,
X)
will call plus(1, 2, X)
, binding X to
3.
The call/[2..] construct is handled by the compiler. The predicates
call/[2-8] are defined as real (meta-)predicates and are available to
inspection through current_predicate/1, predicate_property/2,
etc.76Arities 2..8 are demanded by
ISO/IEC 13211-1:1995/Cor.2:2012. Higher arities are handled
by the compiler and runtime system, but the predicates are not
accessible for inspection.77Future
versions of the reflective predicate may fake the presence of call/9.. .
Full logical behaviour, generating all these pseudo predicates, is
probably undesirable and will become impossible if max_arity is
removed.