[Python-Dev] Re: Re: accumulator display syntax (original) (raw)
Terry Reedy tjreedy at udel.edu
Mon Oct 20 18:42:18 EDT 2003
- Previous message: [Python-Dev] Re: accumulator display syntax
- Next message: [Python-Dev] Re: Re: accumulator display syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Andrew Bennetts" <andrew-pythondev at puzzling.org> wrote in message ...
I think the lazy iteration syntax approach was probably a better idea. I don't like the proposed use of "yield" to signify it, though -- "yield" is a flow control statement, so the examples using it in this thread look odd to me.
Same here.
Perhaps it would be best to simply use the keyword "lazy" -- after all, that's the key distinguishing feature. I think my preferred syntax would be:
sum([lazy x*x for x in sequence])
I like this the best of suggestions so far. Easy to understand, easy to teach: [lazy ...] = iter([...]) but produced more efficiently
But use of parens instead of brackets, and/or a colon to make the keyword stand out (and look reminisicent to a lambda! which is a related concept, in a way -- it also defers evaluation), e.g.:
sum((lazy: x*x for x in sequence))
I prefer sticking with [...] for 'make a (possibly virtual) list'. Having removed ':' when abbreviating _[] for i in seq: _.append[expr] as an expression, it seems odd to bring it back for a special case. I wish ':' could have also been removed from the lambda abbreviation of def.
Terry J. Reedy
- Previous message: [Python-Dev] Re: accumulator display syntax
- Next message: [Python-Dev] Re: Re: accumulator display syntax
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]