Avail Error Code
AvailErrorCode is an enumeration of all possible failures of operations on Avail objects.
Author
Todd L Smith
Parameters
The numeric error code.
Entries
Operation is required to fail.
Cannot A_Number.plusCanDestroy add} infinities of unlike sign.
Cannot subtractinfinities of unlike sign.
Cannot divide two infinities.
Cannot read from an unassigned variable.
Cannot swap the contents of two differently typed variables.
No such fiber variable.
Subscript out of bounds.
Incorrect number of arguments.
Incorrect argument type.
A method definition did not declare the same return type as its forward declaration.
Continuation expected a stronger type.
The requested operation is not currently supported on this platform.
The module is permanently closed and does not support mutative operations any longer.
The specified type is not a finite enumeration of values.
The wrong number or types of outers were specified for creation of a function from a raw function.
A key was not present in a map.
A size range's lower bound must be non-negative (>=0).
An I/O error has occurred.
The operation was forbidden by the platform or the Java security manager because of insufficient user privilege.
A resource handle was invalid for some particular use.
A primitive name is invalid.
An attempt was made to add a styler to a definition, but a styler was already added to that definition in the current module.
An attempt was made to extract the initialization expression from a declaration, but the declaration doesn't happen to have one.
A computation would produce a value too large to represent.
The specified type restriction function should expect types as arguments in order to check the validity (and specialize the result) of a call site.
A method's argument type was inconsistent with a special object specific requirements.
A special object number is invalid.
There are multiple true names associated with the string.
Cannot assign to this kind of declaration.
Cannot take a reference to this kind of declaration.
An exclamation mark (!) may only occur after a guillemet group containing an alternation.
An attempt was made to add a signature with the same argument types as an existing signature.
A signature was added that had stronger argument types, but the result type was not correspondingly stronger.
A special atom was supplied where forbidden.
A method's argument type was inconsistent with a complex guillemet group's specific requirements. In particular, the corresponding argument position must be a tuple of tuples whose sizes range from the number of argument subexpressions left of the double-dagger, up to the number of argument subexpressions on both sides of the double-dagger.
The method name is invalid because it uses the double-dagger (‡) incorrectly.
The method name is invalid because it has unmatched guillemets («»).
The method name is not well-formed because it does not have the canonically simplest representation.
The method name is invalid because an operator character did not follow a backquote (`).
An argument type for a boolean group («...»?) must be a subtype of boolean.
An argument type for a counting group («...»#) must be a subtype of boolean.
An octothorp (#) may only occur after a guillemet group which has no arguments or an ellipsis (…).
A question mark (?) may only occur after a guillemet group which has no arguments or subgroups.
An expression followed by a tilde (~) must contain only lower case characters.
A double question mark (⁇) may only occur after a keyword, operator, or guillemet group which has no arguments or subgroups.
An alternation must not contain arguments. It must comprise only simple expressions and simple groups.
A vertical bar (|) may only occur after a keyword, operator, or guillemet group which has no arguments or subgroups.
A Double value not-a-number or Float value not-a-number cannot be converted to an extended integer (neither truncation, floor, nor ceiling).
A numbered choice expression should have its corresponding argument typed as a subtype of 1..N where N is the number of listed choices.
A macro prefix function is invoked when a potential macro site reaches certain checkpoints. Only the macro body may return a phrase. One of the prefix functions did not have return type ⊤.
A continuation was being constructed, but the wrong number of stack slots was provided for the given function.
The module is currently in a setPhase where it's compiling (or loading) the next statement to execute, and as part of the compilation or loading it attempted to execute a primitive that would add a definition.
An attempt was made to add a prefix function to a message bundle, but its index was not between 1 and the number of section markers (§) in the bundle's name.
The current fiber attempted to accept the current parse, but it isn't actually running a semantic restriction.
The current fiber attempted to determine the current macro name, the name (atom) of a send phrase which was undergoing macro substitution, but this fiber is not performing a macro substitution.
A styling operation was attempted, but the current fiber does not have permission to apply styles.
A macro's prefix function must restrict each parameter to be at least as specific as a phrase.
An attempt to read a field of an object or object type was unsuccessful because that field is not present.
Module loading is over. The interpreter is now operating in runtime mode. This usually means that an attempt was made to modify module metadata at runtime.
The current fiber attempted to reject the current parse, but it isn't actually running a semantic restriction.
The method is sealed at the specified parameters type.
Cannot overwrite or clear an initialized write-once variable.
It seems that a prefix function did not set up things the way that the corresponding macro body expected. Alternatively, a prefix function may notice that a previous prefix function behaved unexpectedly.
The VM does not normally instantiate continuations for infallible primitive functions, so for conceptual consistency such continuations are disallowed.
An attempt to transition the current fiber's trace mode was illegal.
An up arrow ("↑") must only occur after an underscore ("_").
The continuation whose primitive failure variable is set to this value is no longer eligible to run an exception handler (because it already has, is currently doing so, or has successfully run its guarded function to completion).
The continuation cannot be marked as ineligible to handle an exception (because its state is incorrect).
There are no exception handling continuations anywhere in the call chain.
The continuation whose primitive failure variable is set to this value is no longer eligible to run an unwind handler (because it already has or is currently doing so).
No method definition satisfies the supplied criteria.
More than one method definition satisfies the supplied criteria.
The resolved definition is a forward definition.
The resolved definition is an abstract definition.
A variable which has write reactors was written when write tracing was not active for the current fiber.
The fiber being examined has already been terminated.
The fiber being interrogated has not (or did not) produce a result.
A fiber attempted to join itself.
A fiber produced a result of an incorrect type, in violation of its fiber type.
An attempt was made to read through a valid handle that was not opened for read access.
An attempt was made to perform some destructive operation with a valid handle that was not opened for write access.
Serialization failed.
Deserialization failed.
MessageSplitter encountered inconsistent argument reordering indicators in a message name. Also indicates when an attempt is made to create a permuted list with an invalid or identity permutation. Also indicates an invalid attempt to combine a bundle with a differently permuted list to form a send phrase.
A proposed block expression contains one or more invalid statements.
A block expression is invalid.
The block expression references outers, but must not.
The block expression failed compilation.
A proposed sequence contains one or more invalid statements.
Attempted to create a supercast from a base expression that yields a value of type top or bottom.
Attempted to create a supercast whose base expression is also a supercast phrase.
Attempted to create a supercast from a base expression that yields a value of type top or bottom.
An external process could not be launched.
The specified path names an existing file.
The specified path names a directory that is not empty.
An aggregation non-atomic operation succeeded only partially.
At least one option was illegal, or possibly some combination of options were illegal.
A path expression was invalid.
A Java class specified by name was either not found by the runtime system or not available for reflection.
A pojo type is abstract and therefore cannot be instantiated or have a constructor bound to a function.
The indicated Java method or constructor is not visible or does not exist.
Marshaling an Avail object to/from a Java counterpart failed.
The indicated Java field is not visible or does not exist.
A reference to a Java field is not uniquely resolvable for the given pojo type.
An attempt was made to modify a finalJava field.
A reference to a Java method is not uniquely resolvable for the given pojo type and parameter types.
Types
Functions
Answer the numeric error code as a Java Int.
Answer the numeric error code as an Avail.