Re: [ANN] differ v0.1.0, a tool for creating, and applying, diffs on clojure(script) datastructures

2014-11-17 Thread Robin Heggelund Hansen
And no, the result shouldn't contain {:sex :female} because the :sex key is 
listed in the removals map, so it's correct that it's not included in the 
result.

kl. 07:42:30 UTC+1 tirsdag 18. november 2014 skrev Atamert Ölçgen følgende:
>
> Hi Robin,
>
> Thanks for adding a README. It might contain a couple of errors though.
>
> I can't make sense of this for example:
>
> (def person-map {:name "Robin"
>  :age 25
>  :sex :male})
>
> (def person-diff (differ/diff test-map {:name "Robin Heggelund Hansen"
> :age 26})
> ;; person-diff will now be [{:name "Robin Heggelund Hansen", :age 26};;   
>{:sex 0}]
>
>
> Where did test-map come from? I'm assuming it's person-map. Why is :sex 0? 
> Is he fat and bald? If that's a list of keys that's removed, I suggest 
> using a set there.
>
> (differ/patch {:specie :dog
>:sex :female}
>   person-diff)
> ;; Will return {:name "Robin Heggelund Hansen";;  :age 26;;   
>:specie :dog}
>
>
> Shouldn't the result contain [:sex :female] as well?
>
>
> On Tue, Nov 18, 2014 at 3:51 AM, Robin Heggelund Hansen <
> skinn...@gmail.com > wrote:
>
>> https://github.com/Skinney/differ
>>
>> I needed a way to send diffs of data from a cljs web-app to a clj 
>> backend, and I found clojure.data/diff to be a pain to work with, so i 
>> created my own solution. It currently only supports maps (and nested 
>> maps...), but support for lists, vectors and sets is on the roadmap for the 
>> next version. This version is mostly for me to test with my own app, which 
>> currently only uses maps.
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Kind Regards,
> Atamert Ölçgen
>
> -+-
> --+
> +++
>
> www.muhuk.com
>  

-- 
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/d/optout.


Re: [ANN] differ v0.1.0, a tool for creating, and applying, diffs on clojure(script) datastructures

2014-11-17 Thread Robin Heggelund Hansen
Ahh, you're right, thats a typo and it should read person-map.

{:sex 0} is a map of keys removed. The reason I'm not using a set here is 
because I need to know the type of the datastructure to diff, and because 
it needs to work for nesting. For instance, this should also work.

(diff {:name "Robin", :friends {:school #{"Lars" "Jens" "Erika"}}}) {:name 
"Robin", :friends {:home #{"Mom"}, :school #{"Lars"}}})

Should return

[{:friends {:home #{"Mom"}}}
 {:friends {:school #{"Jens", "Erika"}}}]

What I said about retaining type information becomes especially relevant 
when it comes to list/seq/vector, as all those structures support the same 
operations, but the result of patch should return the correct type.

kl. 07:42:30 UTC+1 tirsdag 18. november 2014 skrev Atamert Ölçgen følgende:
>
> Hi Robin,
>
> Thanks for adding a README. It might contain a couple of errors though.
>
> I can't make sense of this for example:
>
> (def person-map {:name "Robin"
>  :age 25
>  :sex :male})
>
> (def person-diff (differ/diff test-map {:name "Robin Heggelund Hansen"
> :age 26})
> ;; person-diff will now be [{:name "Robin Heggelund Hansen", :age 26};;   
>{:sex 0}]
>
>
> Where did test-map come from? I'm assuming it's person-map. Why is :sex 0? 
> Is he fat and bald? If that's a list of keys that's removed, I suggest 
> using a set there.
>
> (differ/patch {:specie :dog
>:sex :female}
>   person-diff)
> ;; Will return {:name "Robin Heggelund Hansen";;  :age 26;;   
>:specie :dog}
>
>
> Shouldn't the result contain [:sex :female] as well?
>
>
> On Tue, Nov 18, 2014 at 3:51 AM, Robin Heggelund Hansen <
> skinn...@gmail.com > wrote:
>
>> https://github.com/Skinney/differ
>>
>> I needed a way to send diffs of data from a cljs web-app to a clj 
>> backend, and I found clojure.data/diff to be a pain to work with, so i 
>> created my own solution. It currently only supports maps (and nested 
>> maps...), but support for lists, vectors and sets is on the roadmap for the 
>> next version. This version is mostly for me to test with my own app, which 
>> currently only uses maps.
>>
>> -- 
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Kind Regards,
> Atamert Ölçgen
>
> -+-
> --+
> +++
>
> www.muhuk.com
>  

-- 
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/d/optout.


Re: [ANN] differ v0.1.0, a tool for creating, and applying, diffs on clojure(script) datastructures

2014-11-17 Thread Atamert Ölçgen
Hi Robin,

Thanks for adding a README. It might contain a couple of errors though.

I can't make sense of this for example:

(def person-map {:name "Robin"
 :age 25
 :sex :male})

(def person-diff (differ/diff test-map {:name "Robin Heggelund Hansen"
:age 26})
;; person-diff will now be [{:name "Robin Heggelund Hansen", :age
26};;  {:sex 0}]


Where did test-map come from? I'm assuming it's person-map. Why is :sex 0?
Is he fat and bald? If that's a list of keys that's removed, I suggest
using a set there.

(differ/patch {:specie :dog
   :sex :female}
  person-diff)
;; Will return {:name "Robin Heggelund Hansen";;  :age
26;;  :specie :dog}


Shouldn't the result contain [:sex :female] as well?


On Tue, Nov 18, 2014 at 3:51 AM, Robin Heggelund Hansen <
skinney...@gmail.com> wrote:

> https://github.com/Skinney/differ
>
> I needed a way to send diffs of data from a cljs web-app to a clj backend,
> and I found clojure.data/diff to be a pain to work with, so i created my
> own solution. It currently only supports maps (and nested maps...), but
> support for lists, vectors and sets is on the roadmap for the next version.
> This version is mostly for me to test with my own app, which currently only
> uses maps.
>
> --
> 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/d/optout.
>



-- 
Kind Regards,
Atamert Ölçgen

-+-
--+
+++

www.muhuk.com

-- 
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/d/optout.


[ANN] differ v0.1.0, a tool for creating, and applying, diffs on clojure(script) datastructures

2014-11-17 Thread Robin Heggelund Hansen
https://github.com/Skinney/differ

I needed a way to send diffs of data from a cljs web-app to a clj backend, 
and I found clojure.data/diff to be a pain to work with, so i created my 
own solution. It currently only supports maps (and nested maps...), but 
support for lists, vectors and sets is on the roadmap for the next version. 
This version is mostly for me to test with my own app, which currently only 
uses maps.

-- 
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/d/optout.