
Martin Drautzburg
Hello all
The standard map function applies a single function to a list of arguments. But what if I want to apply a list of functions to a single argument. I can of course write such a function, but I wonder if there is a standard way of doing this,
> (map ($ 3) [(+2), (*4), (/3)])::[Double] [5.0,12.0,1.0]
Related to that is the problem, that the function in map may require more than one argument, so I need to apply it partially to some value(s) first. But what if I want to fix its second and third argument and not its first argument? Can flip help?
The "pointfree" command-line tool can help you find good short forms for
this kind of thing:
$ pointfree '\x -> f x 2 3'
flip (flip f 2) 3
In this case the explicit (pointed) lambda is simpler so I would usually
just use that.
G
--
Gregory Collins