[MLton] regions

Daniel C. Wang danwang@CS.Princeton.EDU
Fri, 01 Oct 2004 18:01:03 -0400


Stephen Weeks wrote:
{stuff deleted}
> As to pause times, my argument about space safety comes into play
> again.  If one wants space safety then one must have a GC, which
> brings problems about pause times back. 

Not that I disagree with anything that you said, but I wanted to point out 
that the definition of "space safety" is heavily biased by the GC's notion 
of "live" data. The whole notion of space safety is basically a 
specification for when a GC ought to collect data. All automatic storage 
management systems are conservative in some way. I think it's fair to say 
that regions are often conservative in a more annoying ways than a space 
safe GC. However, I could imagine a system which is not strictly safe for 
space but at the same time useful from a practical standpoint.

Space safety is just one of many arbitrary properties for storage recycling.

> The only place where regions
> offer an improvement is on programs specially written for regions
> where the data has a stack-like behavior, the analysis can prove it,
> and the programmer can be convinced that there are no space leaks.
> Maybe the Cyclone stuff does this -- I haven't read it.