What's interesting is that the original --
(defun remove_doubles (lst)
(if lst
(cons (car lst) (remove_doubles (vl-remove (car lst) lst)))
)
)
Should be outperformed by this --
(defun remove_doubles2 (lst)
(if lst
(cons (car lst) (remove_doubles2 (vl-remove (car lst) (cdr lst))))
)
)
But the difference in performance is negligible.
(Based on a very cursory test).
May be a joke, but my poor English unable me to really understand it.
Anyway, I thank you (Se7en, Kelie, MP) for your comments, I receive them according to how I consider your great knowledge and experience in LISP writing (you and some other ones are my "Mentors").
PS: this routine is the example I use when I try to explain the recursive form.