From: Boris Zbarsky [mailto:bzbar...@mit.edu] 

> But it also means that user-space code that has to create an HTML element 
> generically now has to go through document.createElement instead of being 
> able to do |new HTMLElement("a")|, right?

That seems totally fine to me though. The idea of a string-based factory for 
when you don't know what constructor you want to use has precedent all over 
software design.

> Those aren't the same thing at all, right?  The prototype chain has 
> absolutely nothing to do with internal slots, unless we're assuming some sort 
> of vanilla untouched tate of the world.

Agreed. However, in a "normal" situation---where all constructors in the chain 
call super() appropriately, and nobody __proto__-munges, and so on---they 
should be the same. That's why I'm saying that implicitly it was probably also 
part of what I was thinking when writing that.

> Really, this idea of "primary interface" and your idea of "own-instance" seem 
> fairly similar, right?  Except that "primary interface" can only refer to Web 
> IDL interfaces, not user-defined subclasses... or something.

Yeah, that sounds about right. Honestly, own-interface was just my attempt at 
capturing a JavaScript concept that I work with pretty often ("this over here 
is a Foo; this over here is a Bar").

Reply via email to