Partial function application: Difference between revisions

Content added Content deleted
(Added groovy version)
Line 528: Line 528:
<lang groovy>def fs = { fn, values -> values.collect { fn(it) } }
<lang groovy>def fs = { fn, values -> values.collect { fn(it) } }
def f1 = { v -> v * 2 }
def f1 = { v -> v * 2 }
def f2 = { v -> v ^ 2 }
def f2 = { v -> v ** 2 }
def fsf1 = fs.curry(f1)
def fsf1 = fs.curry(f1)
def fsf2 = fs.curry(f2)</lang>
def fsf2 = fs.curry(f2)</lang>
Line 538: Line 538:
Output:
Output:
<pre>fsf1[0, 1, 2, 3] = [0, 2, 4, 6]
<pre>fsf1[0, 1, 2, 3] = [0, 2, 4, 6]
fsf2[0, 1, 2, 3] = [2, 3, 0, 1]
fsf2[0, 1, 2, 3] = [0, 1, 4, 9]
fsf1[2, 4, 6, 8] = [4, 8, 12, 16]
fsf1[2, 4, 6, 8] = [4, 8, 12, 16]
fsf2[2, 4, 6, 8] = [0, 6, 4, 10]</pre>
fsf2[2, 4, 6, 8] = [4, 16, 36, 64]</pre>


=={{header|Haskell}}==
=={{header|Haskell}}==