Module CheckIt { Function Reduce (a, f) { if len(a)=0 then Error "Nothing to reduce" if len(a)=1 then =Array(a) : Exit k=each(a, 2, -1) m=Array(a) While k { m=f(m, array(k)) } =m } a=(1, 2, 3, 4, 5) Print "Array", a Print "Sum", Reduce(a, lambda (x,y)->x+y) Print "Difference", Reduce(a, lambda (x,y)->x-y) Print "Product", Reduce(a, lambda (x,y)->x*y) Print "Minimum", Reduce(a, lambda (x,y)->if(xx, y)) Print "Maximum", Reduce(a, lambda (x,y)->if(x>y->x, y)) } CheckIt