multifile/1¶
Description¶
multifile(Name/Arity)
multifile((Name/Arity, ...))
multifile([Name/Arity, ...])
multifile(Entity::Name/Arity)
multifile((Entity::Name/Arity, ...))
multifile([Entity::Name/Arity, ...])
multifile(Module:Name/Arity)
multifile((Module:Name/Arity, ...))
multifile([Module:Name/Arity, ...])
multifile(Name//Arity)
multifile((Name//Arity, ...))
multifile([Name//Arity, ...])
multifile(Entity::Name//Arity)
multifile((Entity::Name//Arity, ...))
multifile([Entity::Name//Arity, ...])
multifile(Module:Name//Arity)
multifile((Module:Name//Arity, ...))
multifile([Module:Name//Arity, ...])
Declares multifile predicates and multifile grammar rule non-terminals.
In the case of object or category multifile predicates, the predicate
(or non-terminal) must also have a scope directive in the object or
category holding its primary declaration (i.e. the declaration without
the Entity::
prefix). Entities holding multifile predicate primary
declarations must be compiled and loaded prior to any entities
contributing with clauses for the multifile predicates.
Protocols cannot declare multifile predicates as protocols cannot contain predicate definitions.
Warning
Some backend Prolog compilers declare multifile
as an operator
for a lighter syntax. But this makes the code non-portable and is
a practice best avoided.
Template and modes¶
multifile(+qualified_predicate_indicator_term)
multifile(+qualified_non_terminal_indicator_term)