I cannot get a simple while loop to work in lisp!
(loop (while (row >= 0)) setf(row (- row 1)) (collect (findIndex row col))
The correct form of the loop is the following:
(loop while (>= row 0) do (setf row (- row 1)) ; or better: do (decf row) collect (findIndex row col))
For a detailed description of the loop syntax, see the manual.