Re: On with-raw-mode & friends Göran Weinholt 08 Oct 2019 06:54 UTC

On Mon, Oct 07, 2019 at 05:23:34PM -0400, John Cowan wrote:
>    From SRFI 18:
>      When the scheduler stops the execution of a running thread T1 (whether
>      because it blocked, expired its quantum, was terminated, etc) and then
>      resumes the execution of a thread T2, there is in a sense a transfer of
>      control between T1's current continuation and the continuation of T2.
>      This transfer of control by the scheduler does not cause any
>      dynamic-wind before and after thunks to be called. It is only when a
>      thread itself transfers control to a continuation that dynamic-wind
>      before and after thunks are called.
>    One approach is to have a special version of call/cc (sometimes known as
>    "R4RS call/cc") that does not interact with the dynamic-wind system.

Thanks for digging up that reference; I will change Loko accordingly. I
have a small list of things to fix, like truncating fiber continuations
and isolating parameter mutation. This fits right in.

It does make me realize more and more that the control structures in
R6RS/R7RS are not enough to build a production quality Concurrent ML,
which I think is a bit disappointing.