Martin Drautzburg <martin.drautzb...@web.de> writes:

> 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 <g...@gregorycollins.net>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to