Names strawman ready for discussion

Erik Arvidsson erik.arvidsson at gmail.com
Thu Sep 9 10:34:48 PDT 2010


On Thu, Sep 9, 2010 at 07:08, Tom Van Cutsem <tomvc.be at gmail.com> wrote:
> Both of these seem to be compelling advantages of soft fields over names.
> However, I wonder if it would be possible to get the best of both worlds.
> IIUC, the Names proposal converts:
> private x;
> this.x = "foo";
> this.x
>
> into:
> let x = new Name;
> this[x] = "foo";
> this[x]
> Would it be possible to instead rewrite it to:
> let x = new ExplicitSoftField();
> x.set(this, "foo");
> x.get(this)
> (using the same rules for determining the scope of 'x' as detailed in the
> Names proposal)
> You would get the 'private' scoping of Names, and the concise syntax,
> without the limitations that MarkM raised. Am I missing something?

+1

x could also be a WeakMap in the sample above. This reminds me;

I still don't understand why we would want both ExplicitSoftField and
WeakMap. If we make the API for WeakMap not so bare bone it can cover
both use cases.

The thing I like with the Names proposal compared to using WeakMaps is
that using WeakMaps feels very backwards.

-- 
erik


More information about the es-discuss mailing list