RosettaCodeData/Task/Catamorphism/Phix/catamorphism.phix

24 lines
477 B
Plaintext

function add(integer a, integer b)
return a + b
end function
function sub(integer a, integer b)
return a - b
end function
function mul(integer a, integer b)
return a * b
end function
function reduce(integer rid, sequence s)
object res = s[1]
for i=2 to length(s) do
res = call_func(rid,{res,s[i]})
end for
return res
end function
?reduce(routine_id("add"),tagset(5))
?reduce(routine_id("sub"),tagset(5))
?reduce(routine_id("mul"),tagset(5))