bldc/tests/test_map_3.lisp

8 lines
246 B
Common Lisp

(let ((accmap (lambda (f acc xs)
(if (eq xs nil)
acc
(accmap f (cons (f (car xs)) acc) (cdr xs))))))
(define map (lambda (f xs) (reverse (accmap f nil xs)))))
(eq (map (lambda (x) (+ x 1)) (list 1 2 3 4 5 6)) (list 2 3 4 5 6 7))