The result of `assoc` on a vector is well-defined, by treating the vector as 
a map with integer indices as keys.

But the result of `dissoc` on a vector is not so clear. `dissoc` removes a 
key from an associative thing. But you can't remove an index from the middle 
of a vector. Even if you could efficiently remove a single value, the index 
still exists, with a different value. In short, the definition of `dissoc` 
makes it impossible on a vector.

Some other data structures, such as finger trees [1], support efficient 
insertion and removal from the middle, but it's still not a `dissoc` 
operation.

Sequences in general support neither `assoc` nor `dissoc`.

[1] https://github.com/clojure/data.finger-tree

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