On Oct 30, 2011, at 6:19 PM, Axel Rauschmayer wrote:

>>>       let obj = base beget {a: 1, b: 2}
>>>       let arr = base beget [p, q, r]
>>>       let fun = base beget function (...args) { ... }
>>>       let re  = base beget /(\w+)\s+(\w)+/g
>>> 
>>> It's still idiomatic as a name for differential inheritance, but it is more 
>>> pithy than 'make' or 'create' (and one character shorter than 'create' -- 
>>> no Unix 'creat' reruns! ;-). Comments?
>> 
>> Of the various keywords that I been suggested for this operator, I think I 
>> like it the best.  It is probably good that it is fairly unique and 
>> idiomatic.
>>> 
>>> Saying or writing "triangle" does not convey meaning, and it's confusing in 
>>> geometry/graphics contexts.
>> 
>> yes, my original suggest is that <| should be produced "prototype for"
> 
> One last idea, then I’ll stop my bikeshedding:
> 
> 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!

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'?

/be

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

Reply via email to