I agree with all of this. It does seem bizarre to resort to private names
for a use case addressed well by lexically captured variables. But yes, we
could do either.


On Tue, Jun 7, 2011 at 4:07 PM, Brendan Eich <[email protected]> wrote:

> On Jun 7, 2011, at 3:31 PM, Mark S. Miller wrote:
>
> > We have talked about adding some way to state class-private per-class
> variable declarations without having to place them textually outside the
> class. However, a problem with "static private" is that it suggests that
> such things are properties. They're not. They're just lexically captured
> variables.
>
> How could you tell? I mean, what reflection APIs would not disclose static
> privates as properties?
>
> Since http://wiki.ecmascript.org/doku.php?id=harmony:private_name_objectsare 
> in Harmony, it's not a given that static privates must be lexically
> captured as in a power-constructor pattern. It should not be observable
> apart from reflection.
>
> From
> http://wiki.ecmascript.org/doku.php?id=harmony:private_name_objects#open_issuesI
>  think we have some freedom to restrict reflection APIs from seeing any
> private names. That leaves proxies, but with class static private (or should
> that be private static? ;-)) members, a Proxy can't get in the middle. Can
> it?
>
> Between the open issues on private name objects and the private(this)
> placeholder and related open issues on classes, I believe we have some room
> to maneuver.
>
> My point here is not to argue that we must have static private class
> members. Only that we could consider them as distinct from lexically
> captured private upvars a la the power constructor pattern.
>
> /be
>
>


-- 
    Cheers,
    --MarkM
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to