This chapter discusses more functions and special forms.
SUM: function with a varying number of arguments
v[(SUM n 1 n 2 … n k )] = v[(PLUS n 1 (PLUS n 2 ( … (PLUS n k 0)) … ))].
PRODUCT: function with a varying number of arguments
v[(PRODUCT n 1 n 2 … n k )] = v[(TIMES n 1 (TIMES n 2 (…(TIMES n k 1)) … ))].
DO: function with a varying number of arguments
v[(DO x 1 x 2 … x k )] = v[x k ].
Since DO is a function, its arguments are all evaluated from left to right, and the last argument value is then returned. This function is useful when its arguments ...