Dgsh – Directed Graph Shell
www2.dmst.aueb.gr
www2.dmst.aueb.gr
For example, to get a bunch of urls concurrently
$ mario async-map 'await asks.get ! x.text' < urls.txt
Edit: SciPipe looked particularly interesting. https://github.com/scipipe/scipipe
"Doug wanted to allow arbitrary connections in a sort of mesh of programs, but it was not obvious how to describe an unconstrained graph in a natural way, and there were semantic problems as well: data that flowed between programs would have to be queued properly, and queues could explode in an anarchic connection of programs. And Ken couldn't think of any real applications anyway."
My first thought when reading over the docs for dgsh is always something similar...what's the real application? What does it gain me other than some mathematical elegance that I don't lose in harder to read scripts? The examples all pretty much collapse to doing things in parallel and collecting them via cat, which seems a little basic for something as abstract as a DAG.