Re: [WebIDL] interface objects with [Constructor] and [[Call]]

On 10/7/10, Cameron McCormack <cam@mcc.id.au> wrote:
> Garrett Smith:
>> My statement in the previous paragraph is regarding the algorithm for
>> [[Construct]], as specified in ECMA-262. Were you discussing a
>> different [[Construct]]?
>
> Ah, I (mis-)interpreted it as a comment on all objects’ [[Construct]],
> be they native or host objects.
>

So by "[[Construct]]" you meant something other than [[Construct]]
defined in ECMA-262, or what? What you are calling "[[Construct]]" is
apparently not the same thing specified in ECMA-262 r3, is that right?
Using an existing and normatively-specified term to describe a new
routine seems like a good way to spread confusion.

Either use the existing term with its existing meaning or create a new term.


[...]

>> How can an object implement [[Construct]] but not [[Call]]?
>
> It can if it is a host object and it has a [[Construct]] which is
> different from the one defined for native Function objects in ECMA-262.
> Then there is no need for it to have [[Call]].
>

What do you base that on? And where is this other [[Construct]]
specified? It is not necessary to specify a language extension here.

Language extensions just create more disparity between real ECMAScript
and WebIDL ECMAScript. (That's bad.)

[...]

> I think this isn’t strictly needed, since I believe you can have host
> objects that implement [[Construct]] but not [[Call]].
>
ECMA-262 specifies [[Construct]] which says otherwise.

Can you explain why you think this is so?
-- 
Garrett

Received on Friday, 8 October 2010 06:06:12 UTC