>> I think it helps if it reads well. For example:
>>
>> const Employee = Person refinedBy { ... }
>> const Employee = Person subsuming { ... }
>> const Employee = Person parenting { ... }
>> const Employee = Person above { ... }
>> const Employee = Person before { ... }
>
> Sorry, these are ghastly (it's almost Halloween, but c'mon).
>
> I searched a bit and re-read Smalltalk, Self, Cecil, and Io docs to get a
> handle on what <| does. It is not 'clone'. It ain't 'create' except in a
> vacuous sense that's also already "taken" by ES5 Object.create. It isn't
> "subsuming" in my view. "refinedBy" is closer but you'll get camelCaps
> keywords into JS over my dead body!
const Employee = Person refinedby { ... }
const Employee = Person refby { ... }
const Employee = Person by { ... }
(Precedence: instanceof)
> I landed on 'beget' because 'create' is close but vague yet poisoned, and we
> need something pithy. Doug already employed it ages ago. Is there a reason
> you don't like 'beget'?
Only one: It does not read like English (unless you read it like a command).
How about:
const Employee = Person begets {}
But I will be so glad to have this operator, I don’t mind too much about the
actual name. I wouldn’t rule out "proto", yet, though. To be read as “is
prototype of”.
I’m surprised that the anti-Grawlix faction is so passionate – using a < like
operator for inheritance has a long tradition in theoretical computer science.
Adding a non-grawlix name to Object is a good argument against something
grawlixy, though.
--
Dr. Axel Rauschmayer
[email protected]
home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss