next up previous index
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



1999-08-06