Hi everybody, 

You might have experienced writing up multiple functions which depend upon 
the result of each other to execute. To make things more complicated you 
might even wanna split the result from one function and feed them 
separately into two other functions, while potentially combining inputs 
from other functions.

To make everybody's (include my own) life easier, I made the package 
(DAG-runner, 
https://github.com/hesenp/dag-runner) to automatically join functions with 
dependency specified in a directed acyclic graph (DAG).  

For example illustrated below, if we have three functions funA, funB, funC 
that depends upon each other, dag-run will generate a new function 
aggregated-fun that takes all necessary input and generate all desired 
non-intermediate output. 

>
> (use 'dag-runner.core)
> (dag-run aggregated-fun
>          [{:function funA :input [:x :y] :output [:z :w]}
>           {:function funB :input [:w :a] :output [:b]}
>           {:function funC :input [:b :z] :output [:u :v]}])
> (aggregated-fun :x 1 :y 2 :a 3)


This is my first package contributed to the Clojure community. Please feel 
free to point out my mistakes etc so that I can improve on future projects. 
Thanks a lot.  

Hesen Peng

-- 
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.

Reply via email to