How to apply a lambda with 2 parameters to a list in Haskell?
<p>In Haskell, I can take the following lambda expression:</p>

<pre><code>\x y -&gt; x * y
</code></pre>

<p>and apply it like:</p>

<pre><code>(\x y -&gt; x * y) 9 9
81

(\x y -&gt; x * y) 8 8
64
</code></pre>

<p>If I want to express something like, "Take the above lambda, and map it over a list, each item being a pair of values, like above, and return a list, each value being the result of having applied that lambda expression", how can I do it? </p>

<p>In pseudo-code I mean something like: Take <code>(\x y -&gt; x * y)</code> and apply it to something like <code>[(9, 9), (8, 8)]</code>.</p>

<p>I know that if I had <code>\x -&gt; x + 1</code>, I can do the following:</p>

<pre><code>map (\x -&gt; x + 1) [9, 9, 9]
[10,10,10]
</code></pre>

<p>In other words, I'm trying to find out if it is possible (and how) to do something like</p>

<pre><code>map (\x y -&gt; x * y) [ a list of items, each being a pair of values, on which the lambda can work ]
</code></pre>

<p>Apparently, the following doesn't work:</p>

<pre><code>map (\x y -&gt; x * y) [(9, 9), (8, 8)]
</code></pre>

<p>it doesn't return <code>[81, 64]</code>. Is there a way to do that?</p>