Re: Destructuring seems to work with PersistentList and not with PersistentVector

2016-01-24 Thread Matching Socks
In case it's not clear from the above, {:keys [...]} is a technique for *map* destructuring of associative data structures. (let [{:keys [a b]} {:a 1 :b 2}] [a b]) [1 2] As documented at http://clojure.org/reference/special_forms, :keys takes a vector of the symbols to bind. -- You received

Re: Destructuring seems to work with PersistentList and not with PersistentVector

2016-01-23 Thread Nicola Mometto
that's an implementation detail you should not rely on. it only works to support keyword arguments to functions On 23 Jan 2016 17:36, "Harold" wrote: > Hello, > > While destructuring yesterday, I encountered this difference: > > > (let [{:keys [:a :b]} '(:a 1 :b 2)] [a b]) >

Re: Destructuring seems to work with PersistentList and not with PersistentVector

2016-01-23 Thread Gregg Reynolds
On Jan 23, 2016 11:36 AM, "Harold" wrote: > > Hello, > > While destructuring yesterday, I encountered this difference: > > > (let [{:keys [:a :b]} '(:a 1 :b 2)] [a b]) > [1 2] > > > (let [{:keys [:a :b]} [:a 1 :b 2]] [a b]) > [nil nil] > > I have read some of the relevant

Destructuring seems to work with PersistentList and not with PersistentVector

2016-01-23 Thread Harold
Hello, While destructuring yesterday, I encountered this difference: > (let [{:keys [:a :b]} '(:a 1 :b 2)] [a b]) [1 2] > (let [{:keys [:a :b]} [:a 1 :b 2]] [a b]) [nil nil] I have read some of the relevant documentation and some related blog posts, but I am still having trouble explaining