27 lines
387 B
Plaintext
27 lines
387 B
Plaintext
def pa(f, args1) {
|
|
return def partial {
|
|
match [`run`, args2] {
|
|
E.call(f, "run", args1 + args2)
|
|
}
|
|
}
|
|
}
|
|
|
|
def fs(f, s) {
|
|
var r := []
|
|
for n in s {
|
|
r with= f(n)
|
|
}
|
|
return r
|
|
}
|
|
|
|
def f1(n) { return n * 2 }
|
|
def f2(n) { return n ** 2 }
|
|
|
|
def fsf1 := pa(fs, [f1])
|
|
def fsf2 := pa(fs, [f2])
|
|
for s in [0..3, [2, 4, 6, 8]] {
|
|
for f in [fsf1, fsf2] {
|
|
println(f(s))
|
|
}
|
|
}
|