Hello all,
I'm very new to clojure, so to familiarize myself I decided to try to
implement the quicksort.  My code looks like this:

(defn qsort
        ([] nil)
        ([list]
                (let    [piv    (peek list)
                                f-half          (filter (fn [n] (<= n piv)) 
(pop list))
                                s-half  (filter (fn [n] (>  n piv)) (pop list))]
                                (concat (qsort f-half) (cons piv (qsort 
s-half))))))

This looks logical to me, but when I try to run it, I get the
following exception:

user=> (qsort [4 1 3])
java.lang.ClassCastException: clojure.lang.LazySeq cannot be cast to
clojure.lang.IPersistentStack (NO_SOURCE_FILE:0)

I have tried wrapping a doall around the filter functions, and I get
the same error.

Thanks in advance!

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to