Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

(SICP Exercise 2.23) The procedure for-each is similar to map. It takes as argum

ID: 3625398 • Letter: #

Question

 

 

(SICP Exercise 2.23) The procedure for-each is similar to map. It takes as arguments a procedure and a list
of elements. However, rather than forming a list of the results, for-each just applies the procedure to each of
the elements in turn, from left to right. The values returned by applying the procedure to the elements are
not used at all – for-each is used with procedures that perform an action, such as printing. For example,
(for-each (lambda (x) (newline) (display x))
(list 57 321 88))
57
321
88
The value returned by the call to for-each (not illustrated above) can be something arbitrary, such as true.
Give an implementation of for-each.

Explanation / Answer

in JavaScript you could write this as follows: function forEach(procedure, elements) { if (procedure && elements && elements.length) for (var i = 0, l = elements.length; i !== l; ++i) procedure(elements[i]); }