Other Limits

Clauses
Currently the following limitations apply to clauses. The arity may not be more than 128, the number of links to the `outside world' (predicates, atoms, (large) integers, etc) may not exceed 512 and the number of variables should be less than 256.[*]
Atoms and Strings
SWI-Prolog has no limits on the sizes of atoms and strings. read/1 and its derivates however normally limit the number of newlines in an atom or string to 5 to improve error detection and recovery. This can be switched off with style_check/1.
Address space
SWI-Prolog uses tagged pointers internally. This limits the number of available bits for addressing memory to 29 (512 Mb).
Integers
Integers are tagged values. Their value is limited between -226 and 226 - 1.
Floats
Floating point numbers are C-doubles with a 12 bit reduction of the mantisse. For machines using IEEE floating point format, this implies the range is about ±10308 and the accurracy about 10 digits.