propeller.push.limits

Values used by the Push instructions to keep the stack sizes within reasonable limits and values used by the Push instructions to keep computed values within reasonable size limits.

limit-code

(limit-code code)

Limits code to max-code-points and max-code-depth.

limit-number

(limit-number n)

Returns a version of the number n that is within reasonable size bounds.

limit-string

(limit-string s)

Limits string length to max-string-length.

limit-vector

(limit-vector v)

Limits vector length to max-vector-length.

max-code-depth

dynamic

Used to ensure that the depth of nesting for Push expressions doesn’t get too deep. Set as dynamic for testing purposes.

max-code-points

dynamic

Used to ensure that total code points don’t get too large. Set as dynamic for testing purposes.

max-number-magnitude

Used as the maximum magnitude of any integer/float.

max-stack-items

Limits the number of items that can be duplicated onto a stack at once. We might want to extend this to limit all the different that things may be placed on a stack.

max-string-length

Used to ensure that strings don’t get too large.

max-vector-length

Used to ensure that vectors don’t get too large.

min-number-magnitude

Used as the minimum magnitude of any float.