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

Re: non-local exits are icky

This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.

>>>>> "Tom" == Tom Lord <lord@xxxxxxx> writes:

Tom> To test my understanding, and before replying to the proposal further,
Tom> let me just say back to you two things that I think you would agree
Tom> with (and think are obviously true):

Tom> 1) Non-local exits to upward continuations currently afford no
Tom>    general mechanism for cleanups in FFI-using C.


Tom>    Later SRFIs will have to add
Tom>    additional mechanisms to the FFI to handle such situations.

Yes, provided that they are necessary.  I'm not convinced they are,
but that's irrelevant here.

Tom> 2) The specification of error signalling could be made clearer:

That's probably true.

Tom>    but is could say something more like:

Tom>         The following macros explicitly signal certain errors.
Tom>         If an error is signalled, either: [...]

That's arguable, but not what I intended.  What I intended was that
the "an error is signalled" means the same thing as in R5RS, whatever
that is for a given Scheme implementation.  In particular, what you
propose ...

Tom>           1) the computation must be terminated

Tom>           2) the computation may be continued in part by invoking
Tom>              a continuation which is upwards relative to the 
Tom>              C call that triggered the error.  (see "Calling Scheme
Tom>              procedures from C".)

... seems to leave as much room for interpretation as what's in there now.

Cheers =8-} Mike
Friede, Völkerverständigung und überhaupt blabla