On Jun 3, 2009, at 7:47 PM, John Clements wrote:
Why do you need a ring at the outside? To preserve tail-calling, it would be sufficient to have a stack of rings, right?
Right. But then, you'd have to allocate a new ring every time you make a nontail call which would make it far slower than it already is. So, you will have to keep a cache (fixed-size free list) of no-longer-used rings (but these might actually still be in use due to call/cc, so, captured continuations may lose their context in this case which might be okay too). Anyways, this was just a first cut at the implementation. I'm sure there's a whole lot to be done still (it might be ready by next years Scheme Workshop whose deadline is coming soon BTW!). Aziz,,,
