[plt-scheme] call/cc and space
At Tue, 7 Feb 2006 14:08:59 -0800, John Clements wrote:
>
> On Feb 7, 2006, at 12:53 PM, Greg Woodhouse wrote:
>
> > --- Matthew Flatt <mflatt at cs.utah.edu> wrote:
> >
> >> At Tue, 7 Feb 2006 12:18:56 -0800, John Clements wrote:
> >>> So MzScheme is now safe-for-space?
> >>
> >> No, not in general.
> >>
> >> Matthew
> >>
> >
> > Okay, I'm confused. Is this the sort of code that would be unsafe (I
> > know it's contrived)?
>
> The term safe-for-space is (in my opinion) a poorly chosen term; it
> has nothing to do with most definitions of 'safety.' That is, a
> language that is not "safe-for-space" is not necessarily "unsafe."
>
> Instead, it describes a particular proof technique used by some
> garbage collectors to more aggressively reclaim heap storage. For
> instance, an evaluator that is safe-for-space may collect memory
> associated with a variable binding that has no references. For a
> more accurate & precise definition, I would refer interested readers
> to Will Clinger's paper, "Proper tail recursion and space efficiency".
>
> ftp://ftp.ccs.neu.edu/pub/people/will/tail.ps.gz
Safe-for-space has nothing to do with garbage collection (but that is
the right paper! :)
Robby