[Python-ideas] Add an identity function
dag.odenhall at gmail.com
dag.odenhall at gmail.com
Sun Aug 7 04:07:26 CEST 2011
> So, while I want an identity function, I don't want an identity function
> which requires actually calling a function at runtime. What I really want is
> compiler black magic, so that I can write:
>
> def len_sum(iterable, transformation=None):
> """Sum iterable, returning length and sum in one pass."""
> count = 0
> total = 0
> for x in iterable:
> count += 1
> total += transformation(x)
> return count, total
>
>
> and the compiler is smart enough to do the Right Thing for me, without
> either the need to repeat code, or the function call overhead. (And also a
> pony.) Without that level of black magic, I don't think adding an identity
> function to the standard library is worth the time or effort.
-1 on silently pretending that None is callable as the identity
function. If you have an actual function, an optimizer could probably
strip it away in cases like len_sum.
More information about the Python-ideas
mailing list