Question: Language: Scheme (define my_iterator (forAll 1 5)) (my_iterator + 0) 15 (my_iterator * 1) 120 (my_iterator (lambda (x y) (display x)(display )) ) 1
Language: Scheme
(define my_iterator (forAll 1 5)) (my_iterator + 0) 15 (my_iterator * 1) 120 (my_iterator (lambda (x y) (display x)(display " ")) "") 1 2 3 4 5
The forAll procedure takes two arguments: the start and end values of a series, and returns a function (a closure, called my_iterator in the examples above). The resulting closure expects two new arguments: an operation to be applied to all elements in the series, as well as an initial value to start the operations. The operation passed to the closure (+, *, and lambda in the examples above), should expect two arguments as well: an element from the series and the running total.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
