Separating a Hash type from Object
P T Withington
ptw at pobox.com
Wed May 23 18:37:09 PDT 2007
On 2007-05-23, at 09:54 EDT, Brendan Eich wrote:
> Comments?
I don't like the namespace hack -- it's too whacky. Looks like a
hammer in search of a nail. Quoting from an earlier message to the
list:
On 2007-05-02, at 02:40 EDT, Brendan Eich wrote:
> So let's say there's a standard Hash or Dictionary class, with
> operator static functions for . and []. Then the missing piece is
> initializer syntax. We've talked about the thin nature of any #{...}
> syntax, since
>
> let myDict : Dictionary = {...};
>
> could perhaps optimize to avoid constructing an Object instance, then
> converting it to the Dictionary type due to the type annotation on
> myDict (perhaps, because object initialiser evaluation in ES3 is
> observable if one wraps or overrides the Object constructor -- see
> the recent JSON security blog threads).
>
> None of this is yet compelling enough, or coherent/general enough, to
> add to ES4. But work with me here...
I think you already answered your own question. The length of this
thread seems compelling enough.
Personally, I would prefer a built-in, efficient Dict class with get/
set (and the possibility of . and [] being overridden) and hints
about how to optimize instantiating a Dict from an object literal
(taking only the objects 'own' properties) over the 'namespace voodoo'.
That's my 2p.
More information about the Es4-discuss
mailing list