練習にqsort

(defun qsort (list cmp)
  (if list
      (let* ((pivot (car list))
             (list (cdr list))
             (f (lambda (x) (funcall cmp pivot x))))
        (append (qsort (remove-if f list) cmp)
                (cons pivot
                      (qsort (remove-if-not f list) cmp))))
    nil))

(prin1 (qsort '(3 1 4 1 5 9 2 6) #'<))

目的の関数の関数名が分からなくて困る,filterじゃなくてremove-if-notだったり.
とりあえずここで調べたんだけど,Emacsにslimeとやらを入れればいいのかな.


# はてなのsyntax-highlightが地味だなぁ.関数とspecial-formで色分けたらいいのに.