In RELFUN, declarations are realized via declare
facts (in contrast
to PROLOG
, where declarations are usually goals, i.e. they are
preceded by ``:-'').
LL functions, which should be accessed from REL, have to be declared:
Mode declarations have the following form:
declare( mode[[
]] ).
where the
are either g or x (corresponding
to
and
in section 4.2.2).
For example, the mode declarations for append and reverse
are
declare(mode[append[g,g,x]]).
and
declare(mode[reverse[g,x]]).
If a predicate should additionally be declared to be representable as a (total)
deterministic function (as was mentioned in subsection
4.2.3.5), mode is replaced by dfmode:
declare(dfmode[append[g,g,x]]).
In appendix C, the usage of mode declarations is illustrated.