On Aug 30, 2011, at 2:16 PM, David Bruant wrote:
> Le 30/08/2011 21:40, Brendan Eich a écrit :
>>
>> On Aug 30, 2011, at 11:00 AM, Andreas Rossberg wrote:
>>
>>> On 30 August 2011 18:41, David Bruant <[email protected]> wrote:
>>> This would facilitate the author work when it comes to creating functions
>>> that look like functions without having to always include some
>>> initialization code for .length, .prototype and such.
>>> It will still be possible to opt-out of .length or .prototype if the author
>>> doesn't
>>>
>>> I don't think it's worth introducing special cases in the semantics,
>>> especially not for something like length.
>>
>> Perhaps, but I think David has a stronger case for opting out of .prototype.
> Actually that's what current function proxies do by default (no .prototype
> unless otherwise specified). My suggestion is to put a .prototype by default
> with keeping the option to opt-out (same with .length, etc.)
Right, of course function proxies have to trap in order to emulate .prototype
and other properties.
>> Indeed self-hosting some of the ES1-5 builtins requires doing so, somehow.
> Couldn't it be achived with bound functions (which do not have an own
> "prototype" property)?
Built-ins do not bind |this|, though -- many are generic (IIRC these are the
ones V8 self-hosts).
Also, binding costs memory and cycles, it hurts a bit when creating these
things. This can add up.
/be
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss