Re: Making "super" work outside a literal?

2011-06-26 Thread Brendan Eich
On Jun 26, 2011, at 3:05 PM, Allen Wirfs-Brock wrote: > On Jun 26, 2011, at 8:48 PM, Brendan Eich wrote: > >> But I still wonder if we wouldn't be better off restricting where super can >> occur. I can't prove it, but we are following in the universal-'this' >> footsteps (but with static or els

Re: Making "super" work outside a literal?

2011-06-26 Thread Allen Wirfs-Brock
On Jun 26, 2011, at 8:48 PM, Brendan Eich wrote: > But I still wonder if we wouldn't be better off restricting where super can > occur. I can't prove it, but we are following in the universal-'this' > footsteps (but with static or else Object.defineMethod binding). That sounds > a warning bell

Re: Making "super" work outside a literal?

2011-06-26 Thread Brendan Eich
On Jun 26, 2011, at 10:54 AM, Axel Rauschmayer wrote: > This would only work inside an object literal or in a method in a class. > (similar to |super|, where you need to know about |here|, the owning object). > Additionally, Allen’s Object.defineMethod already has a parameter with the > method

Re: Making "super" work outside a literal?

2011-06-26 Thread Brendan Eich
On Jun 26, 2011, at 10:49 AM, Oliver Hunt wrote: > On Jun 26, 2011, at 9:29 AM, Brendan Eich wrote: > >> In the languages and systems that have super()-only, a method always has a >> name. >> >> So we could define "method that can use super" narrowly, as the new syntax >> in object initialiser

Re: Making "super" work outside a literal?

2011-06-26 Thread Axel Rauschmayer
>>> Using an implicit property name in a super call would require that every >>> method call implicitly pass the name used to access the property. This is >>> just like the |here| problem. >> >> No, not if the compiler sees the method name and burns it into the function >> object. Then it's ju

Re: Making "super" work outside a literal?

2011-06-26 Thread Oliver Hunt
On Jun 26, 2011, at 9:29 AM, Brendan Eich wrote: > On Jun 26, 2011, at 3:05 AM, Allen Wirfs-Brock wrote: > >> What property name would be be used in such implicit super calls? A >> function doesn't know what property name was used to access it. > > In the languages and systems that have super

Re: Making "super" work outside a literal?

2011-06-26 Thread Brendan Eich
On Jun 26, 2011, at 5:09 AM, Allen Wirfs-Brock wrote: > On Jun 25, 2011, at 10:42 PM, Brendan Eich wrote: > >> There are deeper waters here. See >> http://www.artima.com/intv/nonvirtualP.html (via >> http://geekswithblogs.net/madhawa/archive/2006/09/17/91418.aspx) where >> Anders Hejlsberg say

Re: Making "super" work outside a literal?

2011-06-26 Thread Brendan Eich
On Jun 26, 2011, at 3:05 AM, Allen Wirfs-Brock wrote: > What property name would be be used in such implicit super calls? A function > doesn't know what property name was used to access it. In the languages and systems that have super()-only, a method always has a name. So we could define "met

Re: Making "super" work outside a literal?

2011-06-26 Thread Allen Wirfs-Brock
On Jun 25, 2011, at 10:42 PM, Brendan Eich wrote: > > There are deeper waters here. See http://www.artima.com/intv/nonvirtualP.html > (via http://geekswithblogs.net/madhawa/archive/2006/09/17/91418.aspx) where > Anders Hejlsberg says: > > "There are two schools of thought about virtual method

Re: Making "super" work outside a literal?

2011-06-26 Thread Allen Wirfs-Brock
What property name would be be used in such implicit super calls? A function doesn't know what property name was used to access it. Using an implicit property name in a super call would require that every method call implicitly pass the name used to access the property. This is just like the