Next: Index
Up: ECLiPSe User Manual Release
Previous: Global Flags
  Index
Restrictions and Limits
The ECLiPSe implementation tries to impose as few limits as possible.
The existing limits are:
- 1.
- The maximum arity of a predicate in ECLiPSe is 255
(this value can be queried using get_flag(max_predicate_arity,X)).
Note however that the arity of compound terms is unlimited.
- 2.
- The maximum arity of external predicates in the current implementation
of ECLiPSe is 16.
- 3.
- The stack and heap sizes have virtual memory limits which can be
changed using the -g, -l, -s and -p command line options or the
ec_set_option function in case of an embedded ECLiPSe.
- 4.
- When the occur check is disabled and cyclical structures
are created, e.g.
in such situations as the unification of
X and g(X) in
X = g(X)
which will result in a cyclic structure:
X = g(g(g(g(g(...
ECLiPSe is not able to copy such terms to the heap
and so
it is the programmer's
responsibility to ensure that the cyclical terms are avoided in
- Values of arrays and global variables.
- Asserted and recorded terms.
1999-08-06