Iterative List Design Pattern
public int fn (Cons lst) { initialize answer; for (Cons ptr = lst; ptr != null; ptr = rest(ptr) ) { answer = someCombinationOf( answer, somethingAbout( first(ptr) )); } return answer; }
(defun fn (lst) (let (answer) initialize answer (while (not (null lst)) (setq answer (some-combination-of answer (something-about (first lst)) ) ) (setq lst (rest lst)) ) answer ))