- From: Domenic Denicola <notifications@github.com>
- Date: Thu, 02 Feb 2017 08:18:38 -0800
- To: heycam/webidl <webidl@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <heycam/webidl/issues/278/277003865@github.com>
Hmm, why do you think it's implicit? What phrasing do you think triggers that ES clause? I still think to trigger that ES stuff you need to say something like > Interface objects are [built-in function objects]\(link to ES spec\) that are constructors, and whose [[Call]] and [[Construct]] behavior is governed by the following algorithm: and similarly for named constructors. Maybe the "that are constructors" is confusing to the casual reader, in which case I would add something like: > Note: interface objects "are constructors" in the strict sense of the ECMAScript specification, that [IsConstructor] returns true when applied to them because they have a [[Construct]] internal method. But unless they are annotated with the [Constructor] extended attribute, attempting to construct an interface object will always throw. Thus they are often not "constructors" in the sense an ECMAScript programmer might expect. I agree those lines are redundant from a specification perspective; I always thought of them as stating a fact, not a normative requirement (no "must", instead "will" or "can"). Moving them to a note seems fine; I'm never sure when it's better to put non-normative statements of fact inside notes or just leave them there. Now that I re-read the above, I guess maybe my suggestions re-state a lot of those two lines you quote, although IMO in a more explicit way. -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/heycam/webidl/issues/278#issuecomment-277003865
Received on Thursday, 2 February 2017 16:19:35 UTC