On Sat, 17 Jan 2004, Michael Sperber wrote:
>>>>>> "Ray" == Ray Dillinger <email@example.com> writes:
>Ray> 4. My runtime does not have a C stack, at all, and allocates all
>Ray> call frames on the heap, with attendant risk of garbage
>Ray> collection. To the extent that there are primitive-data stacks,
>Ray> they're small structures allocated inside the scheme call-frames,
>Ray> on the heap. (note that this is also part of the source of pain
>Ray> for items 2 and 3 because it means I can't funcall or call to C
>Ray> without allocating on the heap. The only way to forestall GC is
>Ray> to preallocate before getting into the area GC is locked out of).
>Scheme 48 works the same way. (It uses a cache for the current
>continuation, but that doesn't change things significantly.) Could
>you spell out where exactly this would cause a problem?
It's not immediately obvious to me how to implement some of the
functionality that's not allowed to GC without allocating call
frames - particularly since strings are represented internally
as a tree structure. I'll look more closely at it tomorrow and
cite specific cases.