Common Lisp the Language, 2nd Edition


next up previous contents index
Next: Classes Up: Programmer Interface Concepts Previous: Programmer Interface Concepts

28.1.1. Error Terminology

change_begin
The terminology used in this chapter to describe erroneous situations differs from the terminology used in the first edition. The new terminology involves situations; a situation is the evaluation of an expression in some specific context. For example, a situation might be the invocation of a function on arguments that fail to satisfy some specified constraints.

In the specification of the Common Lisp Object System, the behavior of programs in all situations is described, and the options available to the implementor are defined. No implementation is allowed to extend the syntax or semantics of the Object System except as explicitly defined in the Object System specification. In particular, no implementation is allowed to extend the syntax of the Object System in such a way that ambiguity between the specified syntax of the Object System and those extensions is possible.

``When situation S occurs, an error is signaled.''

This terminology has the following meaning:

``When situation S occurs, an error should be signaled.''

This terminology has the following meaning:

``When situation S occurs, the results are undefined.''

This terminology has the following meaning:

``When situation S occurs, the results are unspecified.''

This terminology has the following meaning:

``The Common Lisp Object System may be extended to cover situation S.''

The meaning of this terminology is that an implementation is free to treat situation S in one of three ways:

In addition, this terminology has the following meaning:

``Implementations are free to extend the syntax S.''

This terminology has the following meaning:

The Common Lisp Object System specification may disallow certain extensions while allowing others.
change_end



next up previous contents index
Next: Classes Up: Programmer Interface Concepts Previous: Programmer Interface Concepts


AI.Repository@cs.cmu.edu