a few fixes.  still not there yet.

(defn elisort [toSort]
 (with-local-vars [my-list (for [x toSort] [x])]
   (while (rest (var-get my-list))
     (let [[l1 l2 & my-list2] (var-get my-list)]
       (var-set my-list (concat my-list2 (listmerge [l1] [l2])))) (first
(var-get my-list)))))


On Mon, Jan 12, 2009 at 1:47 AM, e <evier...@gmail.com> wrote:

> I'm not planning on programming like this, but just to try to finish this
> up . . . .it's still not working.  I get an odd error when I actually try to
> sort something that iSeq doesn't work on integers.  I have no idea where to
> still the (first my-list) at the end so it returns, too.  No need to reply,
> per se.  Just reporting on how far I got tonight.  I'm sure someone answered
> this already and I haven't read through it all enough.
>
> (defn listmerge [l1 l2]
>  (let [l1first (first l1) l2first (first l2)]
>    (cond
>      (empty? l1) l2
>      (empty? l2) l1
>      (< l1first l2first)
>        (cons l1first (listmerge (rest l1) l2))
>      :else
>        (cons l2first (listmerge (rest l2) l1))))))
>
> (defn msort [toSort]
>  (with-local-vars [my-list (for [x toSort] [x])]
>    (while (rest (var-get my-list))
>      (let [[l1 l2 & my-list2] (var-get my-list)]
>        (var-set my-list (concat my-list2 (listmerge l1 l2)))) (first
> my-list))))
>
> ;; test it out
> (msort [4 53 54 3 5 7 8])
>
>
>
> On Mon, Jan 12, 2009 at 1:29 AM, e <evier...@gmail.com> wrote:
>
>> looks like an awesome book.  will check it out more.  thanks.
>>
>>
>> On Mon, Jan 12, 2009 at 1:06 AM, Josip Gracin <josip.gra...@gmail.com>wrote:
>>
>>>
>>> On Sun, Jan 11, 2009 at 10:33 PM, e <evier...@gmail.com> wrote:
>>> > thanks for your patience.  I think I'm starting to get it.
>>> > Interesting discussion on tail recursion.
>>>
>>> Just to add $0.02... The fact that 'recur' in Clojure is actually used
>>> to implement iterative and not recursive processes is easier to
>>> understand after reading SICP (chapter 1,
>>> http://mitpress.mit.edu/sicp/full-text/book/book.html).
>>>
>>> >>>
>>>
>>
>

--~--~---------~--~----~------------~-------~--~----~
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
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