Re: Strategies for standardizing mistakes (was: Notes from Monday's meeting with TC39 folks)

On Oct 12, 2009, at 10:37 AM, Maciej Stachowiak wrote:

> Sure, I don't mean to blame Mozilla for the evil of your  
> document.all hack. It was a pragmatic choice in the face of  
> unfortunate deployed content. I just wanted to point out that it's  
> not obviously less evil than WebKit's hack, even if you can almost  
> sort of justify it in the letter of the spec. It's a tough call  
> which is worse.
>
> (I think the WebKit version is in practice slightly less evil,  
> because the results are more understandable, and it's robust against  
> otherwise valid source-to-source transforms. The flip side is that  
> it breaks the identities that known objects convert to boolean true,  
> and are not == to null or undefined. Though it does preserve  
> identities that include an if (typeof foo == "object") check. I  
> don't think it's an easy call, and I'm not sure degree of deviation  
> from the letter of the ECMAScript spec is the best metric.)

I try not to moralize ("evil") about deviating from standards, and I  
did not earlier -- I pointed out how this WebKit deviation from ES  
somehow passed without the kind of comment that the WindowProxy-binds- 
to-|this| deviation in HTML5 excited over in es-discuss. But this is  
the last you'll hear from me on the topic -- I'm neither a moralist  
nor a purist when it comes to standard conformance!


>> For public-script-cood, I do not want WebIDL bent around this hard  
>> case, which will tend to tempt WebIDL users to create more like it.  
>> Hard cases make bad law (they teach in the law schools).
>
> Right now WebIDL doesn't have anything for this case and I don't  
> think it should.

Callable collections, i.e., "caller" (confusing name; analogous to  
"getter") in WebIDL, came up in connection with document.all, IIRC.

/be

Received on Monday, 12 October 2009 18:01:55 UTC