(defmacro for (var = start to end do &body body) "Execute body with var bound to succesive integers." (declare (ignore do to =)) ; Evitar warnings de variavel inutilizada, ja que o nosso professor nos chumba se tivermos um warning que seja. (let ((end-var (gensym "END"))) `(do ((,var ,start (+ 1 ,var)) (,end-var ,end)) ((> ,var ,end-var) nil) ,@body)))