I had the same thought when I first started learning Clojure - I think
the idea is that there is some nice mental resonance when
destructuring matches up to your mental model of the data structure
(it's literal form).  In sequential destructuring, that holds but in
maps it doesn't so things look "backwards".  I think the way I've come
to understand it is that when doing a let-style binding, the thing
being bound is always "on the left" so when destructuring a map, you
specify the variable, then the key which is looked up to provide the
value.


On Jan 4, 12:36 am, Johnny Weng Luu <johnny.weng....@gmail.com> wrote:
> One thing that seems weird is the way Clojure destructures a map
>
> I have this map: {:last-name "Vinge" :first-name "Vernor"} which is passed
> to this function: (defn greet-author-2 [{fname :first-name}] ... )
>
> Wouldn't it be better doing: (defn greet-author-2 [{:first-name fname}] ...
> )
>
> You first type the keyword, then followed by the parameter to bind to. It
> reads that the value is bound to the parameter in the same place.
>
> Feels more natural to me in a way.
>
> Thoughts?

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