On 11/11/13 1:37 PM, Allen Wirfs-Brock wrote:
My, perhaps more radical, recommendation would be to only do overloading based 
upon argument counts and to treat all type overloads for a given argument 
length as union types that are left to a function's implementation to 
discriminate.

We could do that, in fact; the problem becomes how to handle the few cases I listed in my mail.

pretty much eliminate the idea that WebIDL based methods must be exotic objects 
with distinctive [[Call]] behavior.

I don't see how it changes anything in this regard, actually.

Also, I would outlaw (new) overloads like

Document:
  TouchList createTouchList(Touch... touches);
  TouchList createTouchList(sequence<Touch> touches);

Sure. This one is fallout from the spec changing from one of those to the other but people not wanting to break compat so supporting both... I don't think anyone _likes_ to create an API like that.

     var a = new Array(1,2,3);  //create a three element array with with 
elements initialized to 1,2,3
     var b = new Array(1); //create a sparse array whose length is set to 1;

This is actually a different pattern from the createTouchList one above, though I agree it's equally undesirable.

-Boris

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to