Andreas Rossberg (2013-07-17T16:43:22.000Z)
On 17 July 2013 17:55, Brendan Eich <brendan at mozilla.com> wrote:
> Andreas Rossberg wrote:
>>
>> As said above, we already have the primitive case, and you are just
>> adding yet another kind of beast. I don't think that would be
>> improving anything. On the contrary.
>
> This is an argument from minimization of primitive concepts or kinds, but I
> argue the better way on the web (given backward compatibility) is not to
> mimimize at such a reductive level. Users mostly ignore the boolean, number,
> and string wrappers, which are unobservable in strict mode. Users do not
> want more wrappers, e.g., Uint64 for uint64. No use-case is served by such
> beasts.

If users ignore them anyway, why would they care? Your observation
seems to imply that users don't care about primitives being able to
facade as objects. And that in turn implies that there is no need to
jump through hoops to support yet another mechanism for object
facading.

There are tons of corner cases that you have to worry about for
anything that is to act as an object. They can be prototypes, they can
be proxied, they can be reflected, etc. None of this is of any
practical use for symbols. It only causes wrong expectations (for
example, to be fully coherent, you would have to allow using a symbol
proxy as a symbol).

/Andreas
domenic at domenicdenicola.com (2013-07-24T00:09:39.278Z)
On 17 July 2013 17:55, Brendan Eich <brendan at mozilla.com> wrote:
> Andreas Rossberg wrote:
>
>> As said above, we already have the primitive case, and you are just
>> adding yet another kind of beast. I don't think that would be
>> improving anything. On the contrary.
>
> This is an argument from minimization of primitive concepts or kinds, but I
> argue the better way on the web (given backward compatibility) is not to
> mimimize at such a reductive level. Users mostly ignore the boolean, number,
> and string wrappers, which are unobservable in strict mode. Users do not
> want more wrappers, e.g., Uint64 for uint64. No use-case is served by such
> beasts.

If users ignore them anyway, why would they care? Your observation
seems to imply that users don't care about primitives being able to
facade as objects. And that in turn implies that there is no need to
jump through hoops to support yet another mechanism for object
facading.

There are tons of corner cases that you have to worry about for
anything that is to act as an object. They can be prototypes, they can
be proxied, they can be reflected, etc. None of this is of any
practical use for symbols. It only causes wrong expectations (for
example, to be fully coherent, you would have to allow using a symbol
proxy as a symbol).