On 32-bit architectures, the total size of the Prolog stacks cannot exceed 256 MB. Under Linux, the default placement of the `TEXT' segment constrains the Prolog stack address range, so in practice the limit there is 128 MB unless the spld option --more-memory (which is the default) is used.
The number of arguments of a compound term may not exceed 255.
The number of atoms created may not exceed 262143 (33554431) on 32-bit (64-bit) architectures.
The number of characters of an atom may not exceed 65535.
NUL is not a legal character in atoms.
There are 256 “temporary” and 256 “permanent” variables available for compiled clauses.
Saved-states are not portable between 32-bit and 64-bit architectures, or from a system built with native code support to a system without native code support for the same architecture.
Indexing on large integers or floats is coarse.