[Python-3000] Reminder: Py3k PEPs due by April (original) (raw)
Phillip J. Eby pje at telecommunity.com
Wed Apr 11 18:04:58 CEST 2007
- Previous message: [Python-3000] Reminder: Py3k PEPs due by April
- Next message: [Python-3000] Reminder: Py3k PEPs due by April
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At 09:50 PM 4/10/2007 -0700, Guido van Rossum wrote:
I'm kind of worried about the performance though -- won't you have to pay at least for the lookup of and1 or or1 in the MRO of the first argument?
Not if they're tp_* slots. And we could introduce the feature only for new-style classes, thereby preventing any performance hit for existing classic classes. (Classic classes' tp_and1 et al would simply invoke normal boolean testing.)
What I find interesting about this proposal is that it comes very close to allowing abstract interpretation of arbitrary Python expressions. If there were a couple of other operator pairs like 'if1/if2', you'd be able to take a generator expression and transform it to SQL without parsing or bytecode decompiling (the two techniques currently used by today's Python ORM's like DejaVu).
Unfortunately, to get full abstract interpretation (ala PyPy, but without looking at any bytecode), there would need to be a way to handle try/except/finally and while loops, and I don't have any ideas about how one would implement those.
- Previous message: [Python-3000] Reminder: Py3k PEPs due by April
- Next message: [Python-3000] Reminder: Py3k PEPs due by April
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]