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.

Reply via email to