[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Status of CL Condition Handling
- To: CL-Cleanup@SAIL.Stanford.EDU, CL-Error-Handling@SAIL.Stanford.EDU
- Subject: Status of CL Condition Handling
- From: Kent M Pitman <KMP@STONY-BROOK.SCRC.Symbolics.COM>
- Date: Fri, 14 Apr 89 09:59 EDT
- Cc: Gateley@tilde.csc.ti.com
- In-reply-to: <2817520854-15094035@Casablanca>
Messages like the following are increasingly common these days.
Date: Thu, 13 Apr 89 23:40:54 CDT
From: John Gateley <Gateley@tilde.csc.ti.com>
Subject: CLEH
Could you send me a pointer to the latest description of CLEH? I have
the 3/12/88 version of 'Condition System Revision 18'?
I checked with David Bartley, our representative to X3J13 and he doesn't
have anything more recent.
I really don't mind fielding this sort of question and have been doing so
for a long time, but since it has been asked a lot lately, I'm sending this
one-shot message just so there will be a recent message that people can
refer to when bringing others up to date.
----- Status of Condition Handling in Common Lisp, April 1989 -----
The most current revision of the error handling document is
Common Lisp Condition System, Version 18. This document was voted
in to CL (in the same sense as CLOS and LOOP have been) and in my
mind it occupies essentially the same status in the standard as
does CLtL. That is, it has been affected by and may be further
affected by action of the Cleanup committee. The effect of its
acceptance was not to cast it in concrete and prohibit change,
but rather to establish that the default is that what it says will
end up in the standard unless someone acts to change that default.
Until the standard is finally voted in as a single unit, nothing is
a certainty.
Version 18 of the condition proposal document is available from
AI.AI.MIT.EDU in the file named "COMMON;COND18 TEXT".
A `sample implementation' is available from AI.AI.MIT.EDU in the
file named "COMMON;COND18 LISP". The sample implementation is not
binding on the proposal text. It is merely `recommended reading'
for anyone who is about to implement the proposal.
With the advent of the proposal's adoption by X3J13 last fall, the
the error handling subcommittee was effectively disbanded. I seem
to still be handling some of what would have been its business, but
I no longer formally consider the group to be an active one or myself
to be the moderator. Changes since the proposal have been and are
being handled by the Cleanup committee.
The window is closed for most Cleanup changes which are feature
additions. The effect of this is that CL-ERROR-HANDLING@SAIL.STANFORD.EDU
is a dormant list. As cleanup items are approved, no new central
error handling document is being produced to minimize administrative
overhead. The approved items will be directly absorbed by the full
standard document itself.
At this point, the only changes being seriously considered by Cleanup
are `essential functionality' that has slipped through the cracks,
or `clarifications' and `bug fixes.'
The cleanup items which are of most interest are:
CLOS-CONDITIONS - Version 4, option INTEGRATE was adopted at the
Mar-89 meeting.
ERROR-CHECKING-IN-NUMBERS-CHAPTER - A proposal for what conditions
should be signalled (and when) by the functions in the numbers
chapter. This will be discussed at the next X3J13 meeting. Other
proposals of similar kind may appear at that time as well.
CONDITION-RESTARTS - A proposal for associating conditions with
restarts. This has been a long-acknowledged weakness in the
condition system. This proposal will come up in some form at the
next X3J13 meeting, but will probably change before it does.
Some changes under consideration:
- Eliminate the proposed COPY-CONDITION function
- Eliminate SIGNAL-WITH-RESTARTS in favor of a change to
RESTART-CASE that makes it automatically create an association
when its first `argument' is a SIGNAL, WARN, ERROR, or CERROR
expression.
- Change the syntax of WITH-CONDITION-RESTARTS to get
condition-form and restarts-form as two arguments instead of
as one argument with funny syntax.
These cleanup items are generally available via anonymous FTP from
ARISIA.XEROX.COM in the directories /clcleanup/pending/ and
/clcleanup/passed/, depending on whether they are pending or passed.
Cleanup items for which there is some interest but not yet any proposal
are:
CONDITIONS-PACKAGE - Some people think the LISP package (now the
COMMON-LISP package, I guess, since a recent vote on issue
LISP-PACKAGE-NAME) is too cluttered and that we should make a new
package for some of the CONDITIONS stuff. (Many of the same people
think the same about CLOS, by the way.)
CONDITION-METACLASS - We've never specified the metaclass of
conditions so right now you can really only safely mix together
condition classes with other condition classes. People have
expressed interest in doing other kinds of mixing, which would
require knowing the metaclass of objects of class CONDITION.
If this leaves unanswered questions about any of this and you are
not an X3J13 representative, please direct them first to the X3J13
rep from your organization. If you have no rep or if your rep can't
answer your question (or if you are the rep and can't answer your own
question :-), you can direct your queries directly to me if you don't
consider them of broad interest and just want them handled privately.