>> 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 a...@rauschma.de home: rauschma.de twitter: twitter.com/rauschma blog: 2ality.com
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss