I don't think you need plumbing for this. On Friday, June 20, 2014, gvim <gvi...@gmail.com> wrote:
> On 20/06/2014 14:28, Dave Della Costa wrote: > >> Rather than start with the code you are trying to duplicate, consider >> the data structure(s) that you have as input and the data structure you >> want to end up with. >> >> It's certainly possible to emulate the kind of nested loop structure you >> are asking about in Clojure, but most likely it's not how you'd >> structure the solution in the first place. For one, the Ruby example >> heavily depends on mutability, which is not as common in Clojure-land. >> >> But here's one "rough sketch," just as a simple example: >> >> I might make personals and aspected vectors of keywords, and I'd end up >> doing something more like >> >> (def find-aspects >> [astro-data] >> (reduce #(update-in %1 [%2] (do-aspected-stuff ...)) {} personals)) >> >> With do-aspected-stuff being something like: >> >> (defn do-aspected-stuff >> [personal-key astro-data] >> (reduce #(if (= personal-key %2) %1 (calc-angles astro-data %1 %2)) {} >> aspected)) >> >> and so on and so forth with calc-angles doing its own looping thing with >> all the calculations you have to do (glossing over the rest as hopefully >> you get the picture at this point), and everything gets deposited in the >> hash-map at the very top of the chain at the end. >> >> Hope this helps. >> >> DD >> > > Great, thanks. These are the kind of pointers I was looking for without > expecting anyone to do the whole job :). Someone on IRC also mentioned > prismatic/plumbing as possibly helpful. > > gvim > > -- > 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.