-plus(v, w, x, y, z) {
- return v + w + x + y + z;
+plus(x, y) {
+ return x + y;
+}
+
+fold(f, b, l) {
+ var x = l;
+ var acc = b;
+ while(!isEmpty(l)){
+ acc = f(acc, x.hd);
+ x = x.tl;
+ }
+ return acc;
}
main (){
- var a = 1 : 2 : 3 : 4 : 5 : [];
- var a = plus(1, 2);
- var b = a(3, 4);
- var c = b(5);
- print(c);
+ var a = 1 : 2 : [];
+ var b = fold(plus, 0, a);
+ print(b);
}