Tri par insertion en Lisp

(defun insertion-sort (vector less)
  (loop for k from 1 below (length vector)
	do (loop with temp = (aref vector k)
		 for i from (1- k) downto 0
		 while (funcall less temp (aref vector i))
		 do (setf (aref vector (1+ i)) (aref vector i))
		 finally (setf (aref vector (1+ i)) temp))))