By the way, this is already in contrib: 
http://clojuredocs.org/clojure_contrib/clojure.contrib.map-utils/deep-merge-with

On Wednesday, July 17, 2013 5:42:24 AM UTC-7, Chris Gill wrote:
>
> Thank you for finding and posting this! Been wracking my brain trying to 
> figure out a good way to do a full map merge
>
> On Thursday, April 25, 2013 5:26:53 PM UTC-4, Stuart Sierra wrote:
>>
>> Here's a way to do it from the Pedestal demo source 
>> code<https://github.com/pedestal/demo/blob/17eeac7a5e50d31eb81901de465f3f1d863f2f01/hammock-cafe/src/hammock_cafe/config.clj#L37>
>> :
>>
>> (defn deep-merge
>>   "Recursively merges maps. If keys are not maps, the last value wins."
>>   [& vals]
>>   (if (every? map? vals)
>>     (apply merge-with deep-merge vals)
>>     (last vals)))
>>
>> -S
>>
>>
>>
>> On Thursday, April 25, 2013 4:41:33 PM UTC-4, Joachim De Beule wrote:
>>>
>>> Hi list,
>>>
>>> I was searching for an "easy" way to combined nested maps, e.g. as in 
>>>
>>> (combine {:foo {:bar "baz"}} {:foo {:x "y"}})
>>> => {:foo {:bar "baz", :x "y"}}
>>>
>>> I would expect that there is some core map operation to do this, but 
>>> neither merge nor unify work as they simply return {:foo {:x "y"}}, and I 
>>> don't see anything else. Am I missing something?
>>>
>>> Joachim.
>>>
>>

-- 
-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to