(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))))