[Up] [Contents] [Index] [Summary]

2.13.2 Other Limits

Clauses
Currently the following limitations apply to clauses. The arity may not be more than 1024 and the number of variables should be less than 65536.
Atoms and Strings
SWI-Prolog has no limits on the sizes of atoms and strings. read/1 and its derivatives 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 data is packed in a 32-bit word, which contains both type and value information. The size of the various memory areas is limited to 128 Mb for each of the areas. With some redesign, the program area could be split into data that should be within this range and the rest of the data, virtually unlimiting the program size.
Integers
Integers are 32-bit to the user, but integers upto the value of the max_tagged_integer feature are represented more efficiently.
Floats
Floating point numbers are represented as native double precision floats, 64 bit IEEE on most machines.