Antoon Pardon wrote:
So and if I have code like this:

f = lamda x:x for g in some_iter:
f = compose(g,f)


Do you still think that one should use a named function in this case?

Yes. If you really don't like taking two lines, Python still allows you to write this as:


    def f(x): return x
    for g in some_iter:
        f = compose(g, f)

On the other hand, if you really love FP enough to write this kind of code, shouldn't you be using reduce istead? ;) I'm horrible with reduce, but something like:

    def identity(x):
        return x
    f = reduce(compose, some_iter, identity)

or if you want to use lambda (note that my complaint about making an named function with the anonymous function syntax doesn't apply here):

    f = reduce(compose, some_iter, lambda x: x)

Not sure if the order of composition is right here, but you get the idea.

STeVe
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to