Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-05-04 Thread Steve Holden
Tristan Seligmann wrote: * Guido van Rossum [EMAIL PROTECTED] [2007-04-29 18:19:20 -0700]: In my mind, 'if' and 'or' are syntax, whereas things like 'None' or 'True' are values; even if None becomes an actual keyword, rather than a builtin. I'm sorry, but that is such an incredibly

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-30 Thread Ron Adam
Delaney, Timothy (Tim) wrote: What I'm proposing is that the `super = super_factory()` line be implicit in this case, resulting in the following code behaving identically: class A(object): def f(self): def inner(): return 'A' + super.f()

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-30 Thread Tim Delaney
From: Delaney, Timothy (Tim) [EMAIL PROTECTED] Sorry - this is related to my proposal that the following two bits of code behave the same: class A(object): def f(self, *p, **kw): super.f(*p, **kw) class A(object): def f(self, *p, **kw):

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-30 Thread Calvin Spealman
On 4/30/07, Delaney, Timothy (Tim) [EMAIL PROTECTED] wrote: Guido van Rossum wrote: 1. When a method is defined, the class is bound to it via an attribute (which in my version is called func_class). In Py3k all the func_XXX attrs are renamed __XXX__, so this would be __class__; but

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-30 Thread Tim Delaney
From: Calvin Spealman [EMAIL PROTECTED] I believe the direction my PEP took with all this is a good bit primitive compared to this approach, although I still find value in it because at least a prototype came out of it that can be used to test the waters, regardless of if a more

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-30 Thread Calvin Spealman
On 4/30/07, Tim Delaney [EMAIL PROTECTED] wrote: I've been working on improved super syntax for quite a while now - my original approach was 'self.super' which used _getframe() and mro crawling too. I hit on using bytecode hacking to instantiate a super object at the start of the method to

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-30 Thread Guido van Rossum
On 4/29/07, Delaney, Timothy (Tim) [EMAIL PROTECTED] wrote: Guido van Rossum wrote: 2. Every non-static method has an implicit cell variable called 'super'. I think you're using 'cell' in a different sense than it is normally used in Python's implementation. What you are looking for is

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Jim Jewett
On 4/29/07, Tim Delaney [EMAIL PROTECTED] wrote: I've been intending to write up a PEP for fixing super, but I haven't had time to get to it. Calvin Spealman has the most recent draft. I hope he will incorporate this into his draft. 1. 'super' becomes a keyword, that returns a super object

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Calvin Spealman
On 4/29/07, Jim Jewett [EMAIL PROTECTED] wrote: On 4/29/07, Tim Delaney [EMAIL PROTECTED] wrote: I've been intending to write up a PEP for fixing super, but I haven't had time to get to it. Calvin Spealman has the most recent draft. I hope he will incorporate this into his draft. I will

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Guido van Rossum
On 4/29/07, Jim Jewett [EMAIL PROTECTED] wrote: So it is a keyword in the sense that None is a keyword; not in the stronger sense that if is a keyword? Um, how do you see those two differ? Is 'if' a keyword in the same sense as 'or', or in a different sense? I realize that in Python 2.5, None

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Calvin Spealman
On 4/29/07, Guido van Rossum [EMAIL PROTECTED] wrote: On 4/29/07, Jim Jewett [EMAIL PROTECTED] wrote: So it is a keyword in the sense that None is a keyword; not in the stronger sense that if is a keyword? Um, how do you see those two differ? Is 'if' a keyword in the same sense as 'or', or

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Tristan Seligmann
* Guido van Rossum [EMAIL PROTECTED] [2007-04-29 16:30:18 -0700]: On 4/29/07, Jim Jewett [EMAIL PROTECTED] wrote: So it is a keyword in the sense that None is a keyword; not in the stronger sense that if is a keyword? Um, how do you see those two differ? Is 'if' a keyword in the same

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Guido van Rossum
On 4/29/07, Tristan Seligmann [EMAIL PROTECTED] wrote: * Guido van Rossum [EMAIL PROTECTED] [2007-04-29 16:30:18 -0700]: On 4/29/07, Jim Jewett [EMAIL PROTECTED] wrote: So it is a keyword in the sense that None is a keyword; not in the stronger sense that if is a keyword? Um, how do

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Delaney, Timothy (Tim)
Jim Jewett wrote: On 4/29/07, Tim Delaney [EMAIL PROTECTED] wrote: I've been intending to write up a PEP for fixing super, but I haven't had time to get to it. Calvin Spealman has the most recent draft. I hope he will incorporate this into his draft. Sorry about this - wasn't receiving

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Tristan Seligmann
* Guido van Rossum [EMAIL PROTECTED] [2007-04-29 18:19:20 -0700]: In my mind, 'if' and 'or' are syntax, whereas things like 'None' or 'True' are values; even if None becomes an actual keyword, rather than a builtin. I'm sorry, but that is such an incredibly subjective difference that I

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Guido van Rossum
On 4/29/07, Delaney, Timothy (Tim) [EMAIL PROTECTED] wrote: I think the current PEP draft is way too complicated - I don't think there's any need for descriptors, etc. I think we can make things work in the following way: 1. When a method is defined, the class is bound to it via an attribute

Re: [Python-Dev] [Python-3000] Pre-pre PEP for 'super' keyword

2007-04-29 Thread Delaney, Timothy (Tim)
Guido van Rossum wrote: 1. When a method is defined, the class is bound to it via an attribute (which in my version is called func_class). In Py3k all the func_XXX attrs are renamed __XXX__, so this would be __class__; but that's a name reserved for something else, so it would need to be