[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Issue: UNWIND-PROTECT-CLEANUP-NON-LOCAL-EXIT (Version 4)
- To: "cl-cleanup" <cl-cleanup@sail.stanford.edu>
- Subject: Re: Issue: UNWIND-PROTECT-CLEANUP-NON-LOCAL-EXIT (Version 4)
- From: "AITG::VANROGGEN" <vanroggen%aitg.decnet@hudson.dec.com>
- Date: 25 May 88 10:45:00 EDT
- Cc: vanroggen
- Reply-to: "AITG::VANROGGEN" <vanroggen%aitg.decnet@hudson.dec.com>
I'm in favor of the proposal.
I don't understand these arguments about "unstoppable" loops. Since
Common Lisp doesn't address asynchronous operations, it seems to me
just plain (LOOP) is an "unstoppable" loop. Let each implementation
have additional means of handling these cases; they would want to be
implementation-dependent anyway, since I don't think anyone is about
to agree on any particular set of "debugging" primitives.
Another thing that bothers me about trying to declare either situations
1 or 2 as errors is that whether or not "it is an error" depends on
whether there was a THROW in progress from the protected-form of the
UNWIND-PROTECT. Unless there's a way for the clean-up code to tell
if it is being executed due to a THROW rather than a return, I don't
see how reliable code can be written.
---Walter
------