Fork me on GitHub
#core-async
<
2015-09-08
>
mattly20:09:33

does anyone know of a library for doing a sort of graph-based dependency management for async tasks?

mattly20:09:06

I’m familiar with Muse, but it doesn’t quite solve the problem I’m dealing with which is more about making sure things happen in the right order

ghadi20:09:08

mattly: stuff like that is really, really important for experimentation. I've been thinking about async dataflow-y kinds of things that you could build on top of core.async, lots of possibilities. @bbloom may have some ideas, too

mattly20:09:15

oh I hadn’t seen this

ghadi20:09:22

A good starting point would be thinking, how could you describe the dataflow in an application at the micro- and macro-level? What could you do in a lisp that golang's goroutines and channels cannot express? What abstractions should exist above goroutines?

mattly20:09:33

actually I had seen plubming, but dismissed it for some reason

ghadi20:09:40

bbloom has been complaining about CSP for a little while, should be taken seriously.

niwinz20:09:14

We have done some work implementing applicative do syntax, that allows compose async operations

niwinz20:09:03

This is similar to something that muse does but defined as generic abstraction

mattly20:09:21

yeah, Cats doesn’t really solve my problem either

mattly20:09:27

I’m using it to good effect elsewhere

niwinz20:09:19

That is your problem? I have read "does anyone know of a library for doing a sort of graph-based dependency management for async tasks?" and I think that the upcoming applicative do syntax is just doing similar thing

niwinz20:09:13

Maybe I'm wrong but the alet macro is just does that, builds a dependency graph for the bindings and try to execute them in batches. Here some examples using it with core.async channels and manifold deferreds: https://github.com/funcool/cats/blob/master/doc/content.adoc#81-channel

mattly23:09:28

@niwinz: so it turns out alet is at least something that is in the right direction of what I’m trying to do, but it’s not in the published version of cats yet