[Python-Dev] Pre-PEP: Task-local variables (original) (raw)
Guido van Rossum guido at python.org
Fri Oct 21 02:23:04 CEST 2005
- Previous message: [Python-Dev] Pre-PEP: Task-local variables
- Next message: [Python-Dev] Pre-PEP: Task-local variables
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 10/20/05, Phillip J. Eby <pje at telecommunity.com> wrote:
At 04:04 PM 10/20/2005 -0400, Jeremy Hylton wrote: >On 10/20/05, Guido van Rossum <guido at python.org> wrote: > > Whoa, folks! Can I ask the gentlemen to curb their enthusiasm? > > > > PEP 343 is still (back) on the drawing table, PEP 342 has barely been > > implemented (did it survive the AST-branch merge?), and already you > > are talking about adding more stuff. Please put on the brakes! > >Yes. PEP 342 survived the merge of the AST branch. I wonder, though, >if the Grammar for it can be simplified at all. I haven't read the >PEP closely, but I found the changes a little hard to follow. That >is, why was the grammar changed the way it was -- or how would you >describe the intent of the changes?
The intent was to make it so that '(yield optionalexpr)' always works, and also that [lvalue =] yield optionalexpr works. If you can find another way to hack the grammar so that both of 'em work, it's certainly okay by me. The changes I made were just the simplest things I could figure out to do.
Right.
I seem to recall that the hard part was the need for 'yield expr,expr' to be interpreted as '(yield expr,expr)', not '(yield expr),expr', for backward compatibility reasons.
But only at the statement level.
These should be errors IMO:
foo(yield expr, expr) foo(expr, yield expr) foo(1 + yield expr) x = yield expr, expr x = expr, yield expr x = 1 + yield expr
-- --Guido van Rossum (home page: http://www.python.org/~guido/)
- Previous message: [Python-Dev] Pre-PEP: Task-local variables
- Next message: [Python-Dev] Pre-PEP: Task-local variables
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]