Function apply and call (was RE: Bait taken: Arguments about arguments)

Allen Wirfs-Brock Allen.Wirfs-Brock at
Thu Jan 15 20:08:27 PST 2009

See below

>-----Original Message-----
>From: es3.x-discuss-bounces at [mailto:es3.x-discuss-
>bounces at] On Behalf Of David-Sarah Hopwood
> array length invariant...another ES3.1 bug]
>Yes, I think you're right here. Also,
> - defining an array index property past the current length would
>   violate the invariant.
> - host objects might have similar invariants that are supposed to
>   be enforced by overriding [[Get]] or [[ThrowingPut]], and that
>   Object.defineProperty would bypass.
>(The bug seems to be in [[DefineOwnProperty]]. I'm not sure how to fix

Array instances needs to have its own version of [[DefineOwnProperty]] to go along with its [[ThrowingPut]].

>> Strictly speaking step 7 needs to compose the array elements into a
>> List as that is what [[Call]] takes as an argument
>If this is wrong then so is every other use of [[Call]] in the spec,
>since none of them *explicitly* say that they construct a List.

Well, not quite every use of [[Call]] but a lot of them...that why I said "strictly speaking".  I'd classify this as a cosmetic bug.

More information about the Es-discuss mailing list