ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> python-dev
python-dev
Re: [Python-Dev] Draft proposal: Implicit self in Python 3.0
by Thomas Wouters other posts by this author
Jan 8 2006 8:27AM messages near this date
Re: [Python-Dev] Draft proposal: Implicit self in Python 3.0 | Re: [Python-Dev] Draft proposal: Implicit self in Python 3.0
On Sun, Jan 08, 2006 at 08:09:22AM -0800, Ralf W. Grosse-Kunstleve wrote:
>  --- Thomas Wouters <thomas@[...].net> wrote:
>  > The main difference isn't the lookup of 'self', it's the attribute retrieval
>  > of 'x' from 'self'.

>  I see. Thanks!
>  If you put 'self' into a special category (with corresponding C code), couldn't
>  you use the same "indexing" tricks as for local variables and make 'self.x'
>  just as fast as 'x'?

No need to make 'self' magical for that. You do, however, need to make the
*object* magical for that. It works for local namespaces because the Python
compiler knows exactly which names are local and which aren't. There are two
cases where the compiler can't know for sure (using 'exec' without 'in' and
using 'from module import *') and in those cases, Python doesn't optimize
local variable access all the way. This all won't work for objects and their
attributes because too much is possible at runtime for the current compiler
to handle.

The compiler could, of course, check everything in the whole program,
keeping track of what could possibly adjust which attributes of what object
where. That would be 'type inferencing' and has been (and is being, I guess)
attempted by various people in various projets. However, if your compiler is
so smart, it won't have _any_ problems taking an exlicit self into account :)

-- 
Thomas Wouters <thomas@[...].net> 

Hi! I'm a .signature virus! copy me into your .signature file to help me spread!
_______________________________________________
Python-Dev mailing list
Python-Dev@[...].org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/python-dev-ml%40activestate.c
om
Thread:
Alexander Kozlovsky
Ralf W. Grosse-Kunstleve
Ian Bicking
Thomas Wouters
Tim Peters
Brett Cannon
Fredrik Lundh
Ralf W. Grosse-Kunstleve
Samuele Pedroni
Fredrik Lundh
Ralf W. Grosse-Kunstleve
Thomas Wouters
Ralf W. Grosse-Kunstleve
Phillip J. Eby
Thomas Wouters
Fredrik Lundh
Armin Rigo
Guido van Rossum
Ralf W. Grosse-Kunstleve
"Martin v. Löwis"
"Martin v. Löwis"
Kay Schluehr
Guido van Rossum
Thomas Wouters
Phillip J. Eby
"Martin v. Löwis"
Thomas Wouters
"Martin v. Löwis"
Thomas Wouters
Tim Peters
Ian Bicking
Thomas Wouters
Ian Bicking
Samuele Pedroni
Kay Schluehr
Alexander Kozlovsky
Jim Jewett
Fabien Schwob
Kay Schluehr
Nick Coghlan
Ian Bicking
"Martin v. Löwis"

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved