[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Scheme-reports] Fwd: Comments on draft 6 about call/cc

Ray Dillinger scripsit:

> The problem is that the two different models of non-local control
> flow (exceptions, continuations) don't really play nice with
> each other.  

I continue to be baffled by this line of reasoning.  Raising an exception
in the R6RS/R7RS model (which is closely related to Common Lisp's)
does *not* in itself constitute non-local control: it merely invokes a
procedure which is the (current) value of a parameter.  If that procedure,
the exception handler, chooses to execute a non-local return, it must do
so by way of a captured continuation, there being no other way to do it.

(It's possible that under the covers the `guard` macro uses some other
mechanism such as one-shot and/or delimited continuations that are
available in the implementation.)

We call nothing profound                        cowan@x
that is not wittily expressed.                  John Cowan
        --Northrop Frye (improved)

Scheme-reports mailing list