Partial function application: Difference between revisions

Content added Content deleted
(Added groovy version)
Line 524: Line 524:
fsf2 [2; 4; 6; 8]
fsf2 [2; 4; 6; 8]
</lang>
</lang>

=={{header|Groovy}}==
<lang groovy>def fs = { fn, values -> values.collect { fn(it) } }
def f1 = { v -> v * 2 }
def f2 = { v -> v ^ 2 }
def fsf1 = fs.curry(f1)
def fsf2 = fs.curry(f2)</lang>
Testing:
<lang groovy>[(0..3), (2..8).step(2)].each { seq ->
println "fsf1$seq = ${fsf1(seq)}"
println "fsf2$seq = ${fsf2(seq)}"
}</lang>
Output:
<pre>fsf1[0, 1, 2, 3] = [0, 2, 4, 6]
fsf2[0, 1, 2, 3] = [2, 3, 0, 1]
fsf1[2, 4, 6, 8] = [4, 8, 12, 16]
fsf2[2, 4, 6, 8] = [0, 6, 4, 10]</pre>


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