next up previous
Next: About this document Up: Stages in Common Lisp Previous: Alternatives to simple handling

Implications for other languages

These linguistic solutions could be copied in other languages, but since they are not bound so closely to the hardware and assume conditions that are raised are precise in location, may not address subtleties that might occur in pipelined execution.

The Lisp standard does not address IEEE 754 modes or flags at all, as such. In my experience, setting and retrieving these flag can be done by a brief assembly-language or C program. (I've used these on Sun and HP Lisp systems, but not in a platform-independent way).

Among the questionable Lisp pieces, it classifies division by 0 and 0.0 as the same error; also it may treat errors that occur in compiled code differently from interpreted code.

Summary: Semantics of exception handling should not be left for casual design from first naive principles. The complexities needed in practice should inform any new language design.



Richard J. Fateman
Sat Aug 15 13:32:36 PDT 1998