[Python-Dev] accumulator display syntax
Alex Martelli
aleaxit at yahoo.com
Thu Oct 16 05:14:31 EDT 2003
On Thursday 16 October 2003 07:16 am, Greg Ewing wrote:
> "Phillip J. Eby" <pje at telecommunity.com>:
> > IMO, it would really be better to have some kind of generator
> > comprehension
> >
> > Top(10, [yield humor(joke),joke for joke in jokes])
>
> I like the *idea* of a generator comprehension, but I'm
> not sure I like the [yield ...] syntax. It's a bit
> idiomatic looking -- the [] still imply a list, even
> though it's not building a list at all.
>
> Maybe there should be a different kind of bracketing,
> e.g.
>
> <humor(joke),joke for joke in jokes>
I think we could extend indexing to mean something different when
the [ ] contain a 'for', just like we extended list display to mean
something different (list comprehension) when the [ ] contain a
'for'. Syntax such as:
Top(10)[ humor(joke) for joke in jokes ]
does not suggest a list is _returned_, just like foo[23] doesn't.
And I have an idea on semantics (which I intend to post separately)
which might let accumulator display syntax work for both "iterator
comprehensions" AND "return of ordinary non-iterator" results.
Alex
More information about the Python-Dev
mailing list