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

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

Peter Bex scripsit:

> Moving it to a library paves the way for taking it out in a later
> version of the standard, but also means yet another thing to add to
> your imports statement when you do want to use it.  We shouldn't
> require the user to type in loads of names just to get simple
> behaviour that you'd get with R5RS without typing in anything.

Quite so.  Note that an R7RS REPL imports an implementation-defined
set of libraries by default; I'd expect a complete implementation to
start up with all libraries loaded, or at least have a mode in which
that happens.

> Also, I still am concerned about the fact that exceptions don't
> implicitly cause [call-]with-* to close their associated port.

It's precisely because there might be an escape procedure that we
can't close the port; once closed, it can't be reopened as part of
reinstituting the dynamic scope.

In any case, exceptions are handled within the dynamic environment of
the raise (except that the current handler is reverted).  So it's
really the non-local exit that would need or be able to close the port.
Since our only implementation of non-local exit is call/cc, we're

John Cowan            http://www.ccil.org/~cowan     cowan@x
Uneasy lies the head that wears the Editor's hat! --Eddie Foirbeis Climo

Scheme-reports mailing list