Synopsis:
accumulate(f,{x0,x1,...,xn}) -- computes the list {f(x0,x1),f(f(x0,x1),x2),...}.
i1 : accumulate(identity, {a,b,c,d,e}) |
i2 : accumulate(plus, 0 .. 10) |
Code:
-- ../../../Macaulay2/m2/fold.m2:6-8 accumulate(Function,VisibleList) := VisibleList => (f,v) -> ( if #v === 0 then error "expected a nonempty list"; accumulate(f,v#0,drop(v,1)))