[Python-Dev] Re: method decorators (PEP 318) (original) (raw)
Samuele Pedroni pedronis at bluewin.ch
Tue Mar 30 10:01:40 EST 2004
- Previous message: [Python-Dev] Re: method decorators (PEP 318)
- Next message: [Python-Dev] method decorators (PEP 318)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
At 09:50 30.03.2004 -0500, Phillip J. Eby wrote:
At 10:38 PM 3/29/04 -0500, Shane Hathaway wrote:
On 03/29/04 18:51, Greg Ewing wrote:
Shane Hathaway <shane at zope.com>:
That would be nice, but here is what I would like it to mean:
def f(): dosomething() lock(foo)(f) But what about x = 17 with lock(foo): x = 42 print x ? Hmm, yep, that won't work. A pity. It would work if the code in the block was treated as a nested scope but with write access to the immediately surrounding scope. But that's quite a bit of compiler change, I'd imagine. Anyway, this is one of the very few places where I'd actually be in favor of allowing rebinding variables from an enclosing scope.
Umph, that's totally OT wrt 318, and we had this whole discussion at this informal nice-to-have level at the beginning of last year. No point rehashing that at that level of (non-)depth.
If someone want this or something like this, then please write a PEP and preferably an implementation.
Just to recall from the top of my head, open issues are:
- what to do about break/continue, they become kind of variable-geometry
- if what is wanted is a real imitation of a control flow statement suite, one problem is that 'yield' cannot be supported in there without removing the "simple" from simple generators. But if this thing just look like a ctrl-flow block but is not really like one, then isn't the syntax confusing? practicality beats purity or not?
- what 'return' should mean there, non-local return like in Smalltalk
- syntax for passing parameters (?), how to have the block possibly give back values, do we want that? new keyword, last expression ...
regards.
- Previous message: [Python-Dev] Re: method decorators (PEP 318)
- Next message: [Python-Dev] method decorators (PEP 318)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]