WJ said
> (def zeros (take 10 (repeat 0)))
> (map-indexed #(if (zero? (mod (inc %1) 3)) (inc %2) %2) zeros)
> --> (0 0 1 0 0 1 0 0 1 0)
A trivial translation follows. Since it seems that you have plenty of time available for playing with clojure and common-lisp, what about developing a library that implements clojure in common lisp?
(map-indexed ($(i x) (if (zerop (mod (1+ i) 3)) (1+ x) x)) zeros)
given the following definitions:
(defun map-indexed (fun list)
(let ((i 0))
(mapcar (lambda(x) (prog1 (funcall fun i x) (incf i))) list)))
(defun repeat (times val)
(loop repeat times collect val))
(defparameter zeros (repeat 10 0))
(defmacro $ (vars &rest body)
`(lambda ,vars ,@body))