On Fri, Oct 5, 2012 at 3:31 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Fri, Oct 5, 2012 at 2:19 PM, vasudevram <vasudev...@gmail.com> wrote: >> >> http://jugad2.blogspot.in/2012/10/fmap-inverse-of-python-map-function.html > > Your fmap is a special case of reduce. > > def fmap(functions, argument): > return reduce(lambda result, func: func(result), functions, argument)
In a more functional style, you could also use reduce to compose the functions before applying them: def compose(f, g): return lambda x: f(g(x)) def fmap(functions): return reduce(compose, reversed(functions)) # Allowing you to then do: result = fmap(functions)(argument) Cheers, Ian -- http://mail.python.org/mailman/listinfo/python-list