(defun quicksort_r(lst) (if (endp lst) lst (let ((pivot (first lst)) (left '()) (right '())) (mapcar (lambda (x) (if (<= x pivot) (setf left (append left (list x))) (setf right (append right (list x))))) (rest lst)) (append (quicksort_r left) (list pivot) (quicksort_r right))))))