[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Universal Catch
Date: Tue 19 Nov 85 14:45:20-MST
From: Robert R. Kessler <KESSLER@UTAH-20.ARPA>
One of the "features" of PSL is that if the tag of a catch is NIL, then
that catch will catch any throw. This feature is especially nice when
writing top loops and similar functions that you want to permit
arbitrary interaction with throws.
Please don't confuse THROW with ERROR. They are different functions for
different purposes.
I realize it's difficult, because Common Lisp hasn't yet acquired an
error-handling system, only a (primitive) error-signalling system. That
happened because of deadline pressure in getting out the original
language specification.
Good proposals have been made, they only need to be finished. I hope
this deficiency of Common Lisp can be rectified in finite time; all it
takes is someone to write a complete proposal and an institutional
context for creating a revised language specification.
Does CL provide a similar functionality
(I haven't seen anything similar in the manual)? Is it an extension that
might be included in CL-86 (or whatever we call it)? Comments?
Early versions of Common Lisp contained primitives called CATCH-ALL and UNWIND-ALL.
After discussion, they were removed. They definitely should not be put back in.