On Sep 16, 2011, at 10:52 AM, Mark S. Miller wrote:

> On Fri, Sep 16, 2011 at 10:41 AM, Allen Wirfs-Brock <al...@wirfs-brock.com> 
> wrote:
> [...] 
> This is the exact situation that exists for any ECMAScript dynamic 
> allocation.  There are no guarantees in the ES spec. that resources allocated 
> with an inaccessible object  will be freed in a timely manner or ever.  Given 
> the state of the art of memory management isn't clear how you could make such 
> guarantees without unreasonably limiting implementors.
> 
> Does everyone, on both sides of this debate, agree that the WeakMap GC issue 
> is and the tail-call issue are equivalent specification problems?
> 
> I propose that the way to look at both of these is a way I have seen proposed 
> somewhere[1] about how to deal with specifying tail calls. Rather than taking 
> it as a correctness criteria on an implementation, instead view it as a 
> statement about how to analyze the space complexity of programs. When writing 
> Andreas' server, it would be nice if he could analyze whether his algorithms 
> have O(1) asymptotic space complexity. Does this mean it will succeed on 
> every implementation? Of course not. It may be that a given implementation 
> doesn't even have enough memory for the server to load. Or the server might 
> crash for other reasons.
> 
> In order to do this analysis, we need a model of how much memory is retained 
> by a computational state -- not in terms of how many bytes, but in terms 
> adequate to make statements about asymptotic space complexity.
> 
> Then an implementation that runs out of space on programs held to be 
> "reasonable" by such analysis can be viewed as low quality implementations.

This all sounds reasonable but I don't see how it particularly impacts the 
actual specification.

Allen
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to