On Oct 31, 2011, at 7:37 PM, John J Barton wrote:

> On Mon, Oct 31, 2011 at 4:27 PM, Allen Wirfs-Brock
> <al...@wirfs-brock.com> wrote:
>> 
> 
>> We have talked quite a bit about how we could support very simple expression
>> of prototypal inheritance...
>> We have recently taken to calling this pattern "object exemplars". It is
>> prototypal inheritance, almost exactly equivalent to what selfish does. If
>> we could all be satisfied with this there would be no need for the ongoing
>> debate.
> 
> I could be satisfied, but I know you are not satisfied since you have
> offered the pattern at the top of the thread.
> ...
> 

Actually, I would be quite satisfied with object exemplars as the primary 
pattern for defining named abstractions over objects.  The class pattern at the 
head of the thread is put forward in a attempt to satisfy those who are 
insisting on a class definition construct  that fully supports all of the 
really complex features of class abstractions that show up in other class-based 
dynamic object-oriented languages (and additional new requirements) and also 
fully supports the class pattern that is implicit in the ES built-ins.  What I 
am trying to show that those requirements could be satisfied based upon a 
compositional pattern using just <| and .{ .  My belief that such a 
compositional solution is adequate and better than trying to define a very 
complex class semantics that may prove to be defective in the long run.

>> Sometimes it sounds like what you are asking for is precisely what objects
>> exemplars provide.  But other times you say you want "classical
>> inheritance".  Which is it?
> 
> This thread is about your interesting and provocative model for
> classical inheritance in the mode of JavaScript. I'm not advocating
> for classical inheritance. Rather, I'm advocating for 'simple
> classical inheritance' and if we can't have simple, let's not have
> classical.

It actually sounds like you are advocating for prototypal inheritance that is 
as simple to use as simple uses of classical inheritance in some languages.  I 
totally agree.

> 
> What I don't want is a "classical" inheritance syntax that perpetuates
> the confusing "new F()/F.prototype" paradigm and also seems more
> complex than a Java-like solution.

I agree.  Except that I am fine with expert using those technique if them find 
them appropriate and also having them  available to framework and transpiler 
authors.

Allen

> 
> jjb
> 

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to