[plt-scheme] R6RS exception handling and dynamic extent [was: SXML for R6RS]
I recall going over this with Matthew a very long time ago, but I
don't recall if anyone else was involved in the conversation.
Matthias, maybe.
Robby
On Fri, Jul 11, 2008 at 10:25 AM, Sam TH <samth at ccs.neu.edu> wrote:
> On Fri, Jul 11, 2008 at 11:16 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
>> At Fri, 11 Jul 2008 10:59:40 -0400, Felix Klock's PLT scheme proxy wrote:
>>> Robby (cc'ing plt-scheme and the rest of the people involved in the
>>> discussion)-
>>>
>>> On Jul 11, 2008, at 10:49 AM, Robby Findler wrote:
>>>
>>> > On Fri, Jul 11, 2008 at 9:42 AM, Derick Eddington
>>> > <derick.eddington at gmail.com> wrote:
>>> >>>> Would it be possible to have guard just not jump out,
>>> >>>
>>> >>> It should jump out for the same reasons as `with-handlers', right?
>>> >>
>>> >> What are those reasons? I've never known.
>>> >
>>> > One reason is that loops that involve a with-handlers won't be
>>> > tail-recursive (unless you jump out yourself in the handler of
>>> > course).
>>> >
>>> > Something like this:
>>> >
>>> > (define (keep-trying)
>>> > (with-handlers ([whatever? (lambda () ... (keep-trying))])
>>> > ...))
>>>
>>> That example seems like it justifies jumping out before the evaluation
>>> of the <expression> ... of each <cond clause> of the guard
>>>
>>> But does it justify such jumping before the evaluation of the <test>
>>> of each <cond clause> of the guard?
>>>
>>> I would think the <test> expression would be the point of interest
>>> when it comes to continuable exceptions...
>>
>> I wish I could remember more on this one. I think we tried, early on,
>> evaluating tests in the continuation of the raise, but we abandoned
>> that possibility. Maybe it was just that we gave up on using the same
>> mechanism for continuable and non-continuable exceptions, and so it
>> seemed simpler and more consistent (in the way you suggest) to jump out
>> for the tests, too. Or maybe there was a more direct reason, but I
>> don't remember it.
>
> By 'we' in this description, do you mean the PLT Scheme developers, or
> the R6RS editors?
>
> Thanks,
> --
> sam th
> samth at ccs.neu.edu
>
>