[r6rs-discuss] guard re-raising and continuable exceptions
Michael Sperber
sperber at deinprogramm.de
Wed Jul 16 06:51:57 EDT 2008
Derick Eddington <derick.eddington at gmail.com> writes:
> A recent discussion on the plt-scheme mailing list [1] caused me to
> realize R6RS's `guard' is not specified to re-raise unhandled
> continuable exceptions as continuable exceptions. R6RS Libraries 7.1
> says of `guard': "[if none of the `guard' clauses handle the exception]
> then `raise' is re-invoked on the raised object within the dynamic
> environment of the original call to `raise' except that the current
> exception handler is that of the `guard' expression." That clearly says
> `raise', but how can `raise' be "re-invoked" and how can there be an
> "original call to `raise'" if it was not called in the first place
> because `raise-continuable' was originally called?
Right. Your analysis that this came about because we copied the text
from SRFI 34, which doesn't have `raise-continuable', is correct. We've
decided to classify this as an error, and an erratum (to appear soon on
r6rs.org) will say that `raise' should be changed to `raise-continuable'
in the specification of `guard'.
Thanks for spotting this, and for your analysis!
--
Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla
More information about the r6rs-discuss
mailing list