This page is part of the web mail archives of SRFI 34 from before July 7th, 2015. The new archives for SRFI 34 contain all messages, not just those from before July 7th, 2015.
On Sun, 1 Sep 2002, Richard Kelsey wrote: >SRFI 34 is defined in terms of R5RS, which doesn't give access >to stack frames. Instead it has procedures, continuations, and >DYNAMIC-WIND, so that is what we use. The generality it provides >is that it runs in implementations of R5RS. I don't see how that >can be done using stack frames. .... yes .... okay, let's back up a minute. This may have been dead-obvious to everyone else, but I've been thinking of the SRFI's as something you are clearly not thinking of them as. Is it your understanding that the srfi process is about producing library code? I've been seeing a lot of library code, but I've been thinking of it as being a process more generally about specifying language extensions. IOW, if we have an idea that's *not* implementable in R5RS scheme, short of creating a compiler from scratch (for example, the brackets- as-parens extension, or fundamental lexical extensions like how to escape unicode characters into identifier names or strings written in ASCII or something), is the SRFI process not the proper place to discuss it? What about counterexamples, like the SRFI that specified the sharp-comma external form? Not implementable in R5RS, outside of creating code that takes it as a string and outputs a string or list of legal program tokens. IE, he can write a converter but R5RS provides no readtable macros as in CL, so he can't write something that will extend an arbitrary system to work with code using his new token. Was that ground that the SRFI process should not have attempted to cover? >That being said, I would be surprised if it were impossible to >implement a system with semantics equivalent to yours in R5RS, >even though I am not sure exactly what that semantics is. >Continuations, DYNAMIC-WIND, and proper tail-recursion can all >be thought of as ways of manipulating stack frames. I believe that you may be right, but every time I attempt it I wind up simply "admiring the problem." I haven't sufficient chops with these constructs to produce the reference implementation. Bear