diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-10-31 22:08:07 -0400 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2021-10-31 22:08:07 -0400 |
| commit | acd2159e1778893ff9d97da1120fb0c6e43a6fc1 (patch) | |
| tree | 8ed956808bd0dc19a8f7e80931d78606e9d6fa0f /spec/README.md | |
| parent | d88e4b093bfaa4df2cb6c75c3ab1cfcd0a108ff3 (diff) | |
Specify that evaluation can fail due to insufficient resources (e.g. memory)
Diffstat (limited to 'spec/README.md')
| -rw-r--r-- | spec/README.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/spec/README.md b/spec/README.md index 5a5c02b2..191116fa 100644 --- a/spec/README.md +++ b/spec/README.md @@ -25,4 +25,5 @@ In several cases, an implementation can choose between more than one possible be - If the specification does not identify the fill element for an array, then any or no fill can be deterministically chosen. - If an expression in a program cannot be evaluated without error (that is, there is no context that would cause the program, or a caller with access to its result, to evaluate the expression but not eventually fail with an error), then the implementation may reject this program, giving an error before evaluating any code and regardless of context—in this case, it must not accept the program in any context. This "compiler clause" modifies the behavior described above. - The way the program's output (either a result or an error) is displayed to the user is not specified. +- Evaluation can fail at any time if the implementation runs out of resources such as memory or stack space. - Any system values can be implemented, and they may act in an arbitrary way including modifying the behavior of the rest of the program. System values can create values with types not included in the specification, whose behavior is left up to the implementation. If system values with names given in this specification are implemented, however, then they must conform with the specified behavior. |
