[Python-ideas] Reduce/fold and scan with generator expressions and comprehensions

Paul Moore p.f.moore at gmail.com
Tue Oct 25 10:29:21 EDT 2016


On 25 October 2016 at 15:02, Stephen J. Turnbull
<turnbull.stephen.fw at u.tsukuba.ac.jp> wrote:
> I did.  They are very persuasive ... up to the point where you ask for
> syntax for something that appears (now that you've done it, kudos!) to
> be perfectly do-able with a function.

This is an important point by the way. Ideas on this list typically
start with proposals along the lines of "let's make X a builtin".
Discussion tends to centre around whether X is sufficiently important
to be built in - and the OP experiences a lot of pushback. That's
natural - the bar for getting something into the stdlib is very high,
for a builtin higher still, and for new syntax even higher. The fact
that we *do* get proposals accepted is a testament to the high quality
of some of the proposals. But it doesn't mean that everything warrants
being accepted. The majority won't be.

On the other hand, the *ideas* are really interesting and valuable.
I'm certainly planning on looking at PyScanPrev when I get the chance.
And the discussions can frequently make people rethink their beliefs.

So people posting ideas here should expect pushback - and should be
prepared to learn how to think about the wider context in which
changes to Python need to exist. That pushback won't[1] be hostile or
negative, although it can feel that way to newcomers. But if a poster
is inclined to take challenges to their idea personally, and even more
so if they respond negatively, things can get tense. So please don't
:-)

So, bringing this back on topic - Danilo, what is your justification
for suggesting that this technique should be language syntax, as
opposed to simply being a 3rd party module (which you've already
written, which is great)? Do you know what sorts of things would be
viewed as evidence in favour of promoting this to syntax, or can we
help in clarifying the sort of evidence you'd need to collect? Are the
relevant design guidelines (things like "there should be one obvious
way to do it" that frequently get quoted around here without much
explanation) clear to you, or do you have questions?

Hopefully we can change your mind about how inviting you find us :-)

Paul

[1] With the occasional exception that we regret - we're only human,
although we try to hold to high standards.


More information about the Python-ideas mailing list