Internationalization: Proposed changes to prototype objects

Norbert Lindenberg ecmascript at norbertlindenberg.com
Mon Oct 1 14:58:29 PDT 2012


Internationalizers,

es-discuss@ is discussing requirements for built-in prototype objects, and in the course of that discussion Brendan suggested some changes to the Internationalization spec. If you care, please participate in the "Must built-in prototypes also be valid instances" discussion.
https://mail.mozilla.org/pipermail/es-discuss/2012-September/thread.html#25304
https://mail.mozilla.org/pipermail/es-discuss/2012-October/thread.html#25345

Note that my wording "constructed by their constructors" isn't quite appropriate - I tried that in the past, and we ended up with a loop in the prototype chain. If we do make a change in the direction Brendan suggested, it would be to specify that the prototype have all the internal properties as if initialized by Initialize<constructor name>(prototype, undefined, undefined), [[Class]] "<constructor name>", but [[Prototype]] Object.prototype. The discussion may also lead in the opposite direction, making the prototype a simple object with just the specified methods.

Norbert


On Sep 29, 2012, at 23:08 , Brendan Eich wrote:

> Norbert Lindenberg wrote:
>> Last week TC 39 approved a standard defining three new built-in constructors whose instances and prototype objects all have [[Class]] "Object". Also, the prototype objects are not constructed by their respective constructors, but initialized by them, e.g., as Intl.Collator.call({}).
>> 
>> Are you suggesting they should have "Collator", "NumberFormat", and "DateTimeFormat", respectively, and the prototypes be specified as being constructed by their constructors?
> 
> All else equal, yes (sorry for not flagging these).
> 
> Any non-equal elses in sight?
> 
> /be




More information about the es-discuss mailing list