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,,,

Reply via email to