Ugih, > (into '(1 2 3) '(3 2 1)) => (1 2 3 1 2 3) > (into [1 2 3] [3 2 1]) => [1 2 3 3 2 1]
When you `add` something to a vector it gets added to the end and when you do the same with a list, it gets added to the front. It happens that way because such behaviour is the most obvious for vectors [a la arrays] & lists [a la singly linked lists]. Consider this as well - (conj [1 2 3] 4) ;=> [1 2 3 4] (conj '(1 2 3) 4) ;=> (4 1 2 3) > (take-while even? [1 2 3 4]) => () > ? `take-while` stops as soon as the predicate is false, in this case, it stops at 1, and returns an empty sequence. May be you are looking for filter? (filter even? [1 2 3 4]) ;=> (2 4) Hope this helps. Regards, BG -- Baishampayan Ghose b.ghose at gmail.com -- 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