Here's some resources to get you started learning about dataflow as a paradigm. From this you should be able to figure out how Pedestal's dataflow system fits in.
A list of existing dataflow languages and systems: http://stackoverflow.com/questions/461796/dataflow-programming-languages/949771#949771 I would suggest looking into a few of these to learn the concepts. I'd also suggest trying out one or more of the visual dataflow languages to get a feel for how problems can be solved in this paradigm and how non-pure functions fit in. I've personally used both Max/MSP and Synthmaker and found the concepts really clicked after using them for a while. A work in progress book on which you may also want to keep an eye: http://dataflowbook.com/cms/ Also, if you can ignore the tone, this article has helped me better understand how code fits together in a dataflow system (a flat hierarchy): http://my.opera.com/Vorlath/blog/2008/07/25/hierarchies-and-equivalence and this one talks about how dataflow differs from imperative programming: http://my.opera.com/Vorlath/blog/2008/01/06/simple-example-of-the-difference-between-imperative-functional-and-data-flow But be warned that the author of those is very opinionated and feels that he is writing about the "one true way" ;-) On 23 December 2013 19:32, Stephen Cagle <same...@gmail.com> wrote: > < Cross posted from pedestal-users group, as many people who are not using > pedestal may still know about dataflow, terms like effect are used in the > context of pedestal > > > Pedestal seems strongly based on dataflow based programming. The gigantic > tutorial just sort of jumps in on it. > > Based on my usage thus far, dataflow seems really good at modeling > problems that are self contained. In their pure forms (no external inputs > or internal effects), dataflow seems almost like a circuit diagram. > > However, I quickly get confused once we start dealing with effects. Seems > that there is a large "Here be Dragons" area of code in that region > (services.cljs). > > I feel that this may not be dataflow's fault; I just haven't got my head > around it. When I look at dataflow, I feel like it is constraining me to a > particular way of solving a problem. The upside of this is that I have made > my logic declarative and potentially easier to reason about. This is a > trade-offs that seems similar to the trade-offs one makes when moving from > a mutable procedural programming model to a immutable functional model. I > have yet to personally get substantial benefit from dataflow, but that does > not mean I will not with more mastery. > > I am wondering if there are any any getting started guides for dataflow > programming that you (the community) would recommend. I would be especially > interested in "recipe books" for dataflow based programming. How do you > really do asynchronous processing with dataflow? What if your asyncs may > return in a random order but must be processed in a specified order? A few > books/articles/whatever on how experts think through these problems could > be quite beneficial. > > -- > -- > 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. > -- -- 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.