The `map' functionexpects a modifier and a list as arguments. The modifier is applied to all elements of the list. If for a certain application the modifier remains constant but the list varies from case to case, it seems to be useful to have a function that expects only the list as argument. Such a function is built by `mapc'.
(define mapc (curry map)) ; ;;; Example 1: ;;; ; (define l1 (cons one (cons two (cons three (cons four nil))))) ; (define malzwei (mapc (lambda(x) (mult two x)))) (ldisp! (malzwei l1)) --> 2 4 6 8 ; ;;; Example 2: ;;; ; (define succ* (mapc succ)) ; (define l1 (cons one (cons two (cons three (cons four nil))))) (ldisp! (succ* l1)) --> 2 3 4 5
Georg P. Loczewski 2004-03-05