On Sep 23, 2:20 am, Kevin Livingston
<[email protected]> wrote:
> what's the actual use case where you want this?
> it seems pretty weird just on it's own. it may in practice be more
> clever than other solutions, but that's not clear yet. if you just
> want a unique symbol there's (gensym)
For the sake of illustration, this function will chunk a vector into
vectors of identical elements, in order (no assurance that it won't
be weird in context):
(defn grp [s]
(-> (reduce
(fn [[v chunk] elt]
(if (or (empty? chunk) (= elt (first chunk)))
[v (conj chunk elt)]
[(conj v chunk) [elt]]))
[[][]] (conj s s))
(first)))
user> (grp [])
[]
user> (grp [1 2 3 2 2 3])
[[1] [2] [3] [2 2] [3]]
user> (grp [1 1 4 4 4])
[[1 1] [4 4 4]]
user>
> regarding vectors, I found this a helpful read a while back, it's a
> few years old, but I think it's still accurate, and may help you get a
> picture of what's under the
> hood.http://blog.higher-order.net/2009/02/01/understanding-clojures-persis...
>
> Kevin
>
That's helpful, thank you.
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en