I am trying to write a forAll procedure that takes two arguments: the start and end values of a series. The resulting closure expects two arguments as well: an operation to apply to all elements in the series, as well as an initial value.
This is what I have and, I seem to be missing something or I don't understand the concept behind closures.
(define (forAll n m)
(if (>= n m) '()
(forAll (+ n 1) m))
(lambda (op start) (op start n m))
)