W3C home > Mailing lists > Public > public-script-coord@w3.org > April to June 2010

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

From: Brendan Eich <brendan@mozilla.org>
Date: Fri, 11 Jun 2010 23:34:58 +0100
Cc: Maciej Stachowiak <mjs@apple.com>, Travis Leithead <travil@microsoft.com>, Simon Pieters <simonp@opera.com>, "public-script-coord@w3.org" <public-script-coord@w3.org>, annevk@opera.com
Message-Id: <9B0B5754-4EBB-4F68-B98B-0EE917AF8192@mozilla.org>
To: James Graham <jgraham@opera.com>
On Jun 11, 2010, at 11:31 PM, James Graham wrote:

> 
> 
> On Fri, 11 Jun 2010, Maciej Stachowiak wrote:
>> 
>> Another possibility when there are no legacy constraints is to not implement [[Call]], so that there is only one way to invoke the constructor. For vanilla JS functions, calling them with and without "new" has quite different behavior. And for many builtins, calling with and without "new" actually does subtly different things. Thus, I don't think we want to encourage developers to mix and match.
>> 
> 
> Fair enough, unless the legacy points us strongly in the other direction.

For XMLHttpRequest, Travis claimed legacy is in the other direction.

JS is not a B&D language, so I'm more in favor of [[Call]] == [[Construct]]. Unless there is future-proofing benefit in reserving [[Call]]. And the horses are not already out of the barn.

/be
Received on Friday, 11 June 2010 22:43:53 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 8 May 2013 19:30:02 UTC