Part 3 of meeting notes
Mark S. Miller
erights at google.com
Tue Jun 2 16:20:58 PDT 2009
On Fri, May 29, 2009 at 7:13 PM, Brendan Eich <brendan at mozilla.org> wrote:
> On May 29, 2009, at 4:46 PM, Waldemar Horwat wrote:
> We'd want a Name n to be garbage-collected if the only use of n is in
>> hidden places such as x[n]. That would also collect y if it's not reachable
>> from anywhere else.
> Really? What about Name instance n makes its identity persistent only while
> in-memory? Suppose it could be pickled, or better yet, a lexical binding
> equated to it per the
> proposal in a function is declared, and the function is pickled, then
> serialized to a secure storage channel. Then the in-memory references to n
> other than x[n] -- but not references to x -- all go away, and the GC runs.
> It is required that Name instances never equate to any string. But that
> does not mean they couldn't be pickled and unpickled. It does not mean they
> have unique name identity only while in memory.
> There should be no requirement that a proxy or ephemeron keeping n alive
> must remain indefinitely in-memory just so the pickled name can be unpickled
> later and used to access x[n] where x remained alive the whole time. But
> under Mark's proposal, that would be required, or else x[n] (aka n[x]) would
> go away -- become undefined -- behind the back of the storage channel user.
> I objected at the meeting this semantic reductionism, and I still do.
> Private names are not the same as ephemerons.
Brendan, I have now read that strawman page carefully and then reread your
email several times. I am utterly confused. I see no connection between the
two. If the pickling above is transparent and orthogonal, then it is a
semantics-free part of the implementation, like virtual memory, and is
unproblematic. If it is not transparent, do you imagine it being implemented
enough information from one to pickle it.
The strawman page says nothing about pickling or any related issue. I see
nothing on the strawman page that conflicts with my proposed reduction to
ephemerons. What am I missing?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the es5-discuss