On Sat, Apr 7, 2018 at 4:48 AM Paul Moore <p.f.mo...@gmail.com> wrote:

> On 7 April 2018 at 08:44, Raymond Hettinger <raymond.hettin...@gmail.com>
> wrote:
> > Agreed that the "chain([x], it)" step is obscure.  That's a bit of a
> bummer -- one of the goals for the itertools module was to be a generic
> toolkit for chopping-up, modifying, and splicing iterator streams (sort of
> a CRISPR for iterators).  The docs probably need another recipe to show
> this pattern:
> >
> >         def prepend(value, iterator):
> >             "prepend(1, [2, 3, 4]) -> 1 2 3 4"
> >             return chain([value], iterator)
> >
> > Thanks for taking a look at the proposal.  I was -0 when it came up once
> before. Once I saw a use case pop-up on this list, I thought it might be
> worth discussing again.
>
> I don't have much to add here - I typically agree that an explicit
> loop is simpler, but my code tends not to be the sort that does this
> type of operation, so my experience is either where it's not
> appropriate, or where I'm unfamiliar with the algorithms, so terseness
> is more of a problem to me than it would be to a domain expert.
>
> Having said that, I find that the arguments that it's easy to add and
> it broadens the applicability of the function to be significant.
> Certainly, writing a helper is simple, but as Tim pointed out, the
> trick to writing that helper is obscure. Also, in the light of the
> itertools design goal to be a toolkit for iterators, I often find that
> the tools are just slightly *too* low level for my use case - they are
> designed to be combined, certainly, but in practice I find that
> building my own loop is often quicker than working out how to combine
> them. (I don't have concrete examples, unfortunately - this feeling
> comes from working back from the question of why I don't use itertools
> more than I do). So I tend to favour such slight extensions to the use
> cases of itertools functions.
>
> A recipe would help, but I don't know how much use the recipes see in
> practice. I see a lot of questions where "there's a recipe for that"
> is the answer - indicating that people don't always spot the recipes.
>

Part of the problem with the recipes is, as far as I am aware, the
license.  The recipes appear to be under the Python-2.0 license, which
complicates the licensing of any project you use them in that isn't already
under that license.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/3JRKWJ7H7QIQP2RNVGJBK3XHB3J5OIXL/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to