Thanks for sharing! Last time I was looking for something similar, I came across this library -
https://github.com/friemen/diffit It works for both Clojure and ClojureScript, although it's specific for either maps or vectors. I haven't looked at the specific implementations of either library and only used it on small data sets, so can't comment on suitability for your use cases. I thought I'll share since your readme mentioned you didn't find any prior implementations and for anyone looking at this thread in the future. -Alpeware On Thu, May 3, 2018, 12:34 AM Colin Fleming <colin.mailingl...@gmail.com> wrote: > This looks very nice, thank you! > > On 1 May 2018 at 06:52, <hy...@juji-inc.com> wrote: > >> Hello, >> >> I am happy to make available a diffing/patching library for Clojure data >> structures. >> >> https://github.com/juji-io/editscript >> >> Two flavors of diffing algorithms are provided, with very different >> performance characteristics, suitable for different applications. >> >> * One optimizing diffing algorithm aimed to reduce the size of diffs. It >> is an A* based graph search algorithm that is optimized for speed, though >> much slower than the next one, it is still practical. >> * Another is a straightforward tree walking algorithm that is about two >> orders of magnitude faster, but produce suboptimal results. >> >> Hope this library will be of some use for someone. Comments, suggestions >> and contributions are also welcome. >> >> -huahai >> >> -- >> 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. >> > > -- > 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. > -- 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.