Conj (http://clojuredocs.org/clojure_core/clojure.core/conj) does what
you need for vectors. It's behavior depends on the type of collection
passed, so if you did:

(conj '(1 2 3) 4) you would end up with '(4 1 2 3).

For vectors it appends to the end of the list, for lists the beginning.

On Sat, Dec 10, 2011 at 6:13 AM, Michael Jaaka
<michael.ja...@googlemail.com> wrote:
> Is there something like:
>
> (defn snoc[ col item ]
>        (lazy-seq
>                (if (seq col)
>                        (let[ [f &  r] col ]
>                                (if (seq r)
>                                        (cons f (snoc r item))
>                                        (cons f [item])))
>                        [item])))
>
> already here?
>
>
> (snoc (snoc (snoc [ 1 2 3] 4) 6) 7)
>
> gives:
>
> (1 2 3 4 5 6 7)
>
> --
> 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

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