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.