Paul Boddie wrote:
On 26 Jul, 06:06, Terry Reedy <[EMAIL PROTECTED]> wrote:
Paul Boddie wrote:
"The problem is that the explicit requirement to have self at the
start of every method is something that should be shipped off to the
implicit category."

Here, I presume that the author meant "at the start of every method
signature".

There is no requirement to have 'self' in the parameter list.  It can be
's', 'this', 'me', 'yo'(Spanish for I), or 'cls' (for class methods), or
any other identifier in whatever language.

But Jordan apparently wanted to omit that parameter. The omission of
all mentions of "self" could be regarded as a bonus, but it's a non-
trivial goal.

Reword. There is no requirement to name the instance anything in particular. Thus there is no requirement at present that the first parameter, which gives the name of the instance, be anything in particular.

In 3.0, identifiers are not restricted to ascii but can be any unicode
'word' as defined in the manual.

So the proposal would have to be that the compiler scan the function
body and decide which dotted name prefix is the one to be implicitly
added.  Have fun writing the discovery algorithm.  However, I think this
is pretty silly.  Just write the name you want.

If, as I wrote, you permit the omission of "self" in method signatures
defined within class definitions, then you could still insist on
instance attribute qualification using "self" - exactly as one would
when writing Java according to certain style guidelines.

Which is what I said in the first sentence of my next paragraph, which you clipped. "Or the proposal would have to be that 'self' is mandatory for all programmers in all languages." To clarify " ... that 'self' be the mandatory instance name for all Python programmers regardless of inclination or the natural language they otherwise use as a basis for identifiers."

In sum, if the instance name is omitted from the parameter list, it must either be discovered or mandated, and def statements in direct class scope have to be treated differently from def statements elsewhere.

Terry Jan Reedy

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to