Annex C Size limits (normative)

(1) A conforming processor shall accept the sizes of the “minimum” column. The “this implementation” column has this implementation’s values. Default capacities differ between processors (4 (5)); a host changes them through pinax_config.

ItemMinimumThis implementation
length of a name (bytes)3131
length of a ptn pattern (bytes)255255
captures of a ptn pattern99
steps of one ptn word224224
C arguments of an extern function88
str arguments, results of a host word8, 48, 4
host modules’ words (per state)6464
handle types1616
digits after the point of dec(N) (7.5)1818
globals of a state (every load together)10243839
defers in one word (10.7)1616
locals kept after a fault—16, 1 KB
default integer slots / string slots—4096 / 1024
default region of the main run—65536 bytes
default handles alive at once—64
default call depth / region of a task—16 / 1024 bytes

(2) These are the limits this implementation puts on a source (informative). Going beyond one is refused at load, and the message names the limit. Another processor may have other values.

ItemThis implementation
Stack depth inside a definition (values)64
Blocks, branches and loops open inside each other32
cat inside cat32
Block values inside block values4
Locals of one word96
Inputs / results of a signature16 / 16
Modules one source uses16
Values of one case branch32
N of str(N) (bytes)255
Size of one record (bytes)4095
Length of a signature text (bytes)71
marks of one word255
Sources of a state256
Tasks of a set / region of one task4096 / 16 MiB
Instructions of a rex program / nesting of groups4096 / 64