Experimental
iterationSignal iteration-limit-exceeded
when the iteration limit
in a loop is exceeded. Default: no limits.
Experimental
memorySignal out-of-memory
when the memory usage for this scope is exceeded.
Memory is in Megabytes, default: 1Mb.
Experimental
recursionSignal recursion-depth-exceeded
when the recursion depth for this
scope is exceeded.
Experimental
timeSignal timeout
when the execution time for this scope is exceeded.
Time in seconds, default 2s.
A scope is a set of names in a dictionary that are bound (defined) in a MathJSON expression.
Scopes are arranged in a stack structure. When an expression that defined a new scope is evaluated, the new scope is added to the scope stack. Outside of the expression, the scope is removed from the scope stack.
The scope stack is used to resolve symbols, and it is possible for a scope to 'mask' definitions from previous scopes.
Scopes are lexical (also called a static scope): they are defined based on where they are in an expression, they are not determined at runtime.