(phixonline)-->
with javascript_semantics
function fs(integer rid, sequence s)
sequence r = repeat(0,length(s))
for i=1 to length(s) do
r[i] = rid(s[i])
end for
return r
end function
function p_apply(sequence f, args)
integer {f1,f2} = f
return f1(f2,args)
end function
function f1(integer i)
return i+i
end function
function f2(integer i)
return i*i
end function
printf(1,"%v\n",{p_apply({fs,f1},{0,1,2,3})})
printf(1,"%v\n",{p_apply({fs,f2},{0,1,2,3})})