[Python-ideas] Add an identity function
Devin Jeanpierre
jeanpierreda at gmail.com
Sun Aug 7 04:18:49 CEST 2011
Nonetheless, Steven does have a point: the identity function is very
trivial to define in your own code (I do it lots), so there isn't much
benefit adding it.
The reason I would personally want it (and perhaps a few other helpful
"base case" functions, like constant(x)(y) = x) is to encourage its
use among people that haven't considered the concept. That isn't all
that good a reason, though. +0?
Devin
On Sat, Aug 6, 2011 at 10:07 PM, dag.odenhall at gmail.com
<dag.odenhall at gmail.com> wrote:
>> 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.
> _______________________________________________
> Python-ideas mailing list
> Python-ideas at python.org
> http://mail.python.org/mailman/listinfo/python-ideas
>
More information about the Python-ideas
mailing list