This page is part of the web mail archives of SRFI 18 from before July 7th, 2015. The new archives for SRFI 18 contain all messages, not just those from before July 7th, 2015.
>>>>> "Jim" == Jim Blandy <jimb@xxxxxxxxxxxx> writes: Jim> Actually, this is less powerful than what I described. In Roland's Jim> system, you don't need to unwind the C stack when s1 invokes a. You Jim> only need to unwind the C stack when s0 returns. If s0 instead Jim> invokes some continuation b captured by s1, that's fine. >> >> I'm not sure I'm getting what's going on here: I *want* the C stack >> to be unwound (it's a trivial-enough operation), so that the Scheme >> heap references in the C activation records get freed---you might >> get a space leak otherwise. Jim> So, here's my original scenario: Jim> The C function C1 Jim> calls the Scheme function S1, Jim> which captures some continuation KS1 Jim> and calls the C function C2, Jim> which calls the Scheme function S2, Jim> which captures some continuation KS2 Jim> So, in S2, the stack looks like: C1 S1 C2 S2 Jim> ^ ^ Jim> KS1 KS2 Jim> Invoking KS1 will return to somewhere within S1's code. Invoking KS2 Jim> will return to somewhere within S2's code. In particular, KS1 is Jim> *not* S1's continuation --- it does *not* directly return to C1. Jim> Similarly for KS2. I understand what you're saying, but you haven't addressed my concern (re-quoted above) at all. -- Cheers =8-} Mike Friede, Völkerverständigung und überhaupt blabla