Master Concurrent Processes with core.async
braveclojure.com
braveclojure.com
Some recommended reading for how to handle such a scenario:
http://martintrojer.github.io/clojure/2014/03/09/working-wit...
https://github.com/ztellman/lamina/wiki/Probes-and-Instrumen...
Any system that is concurrent needs first-class support for handling exceptions that occur in a thread pool. I appreciate that Lamina puts an emphasis on this.
Are there any Clojure libraries that do something like this? I think Akka supports this kind of design.
This means it's less "easy" since you have to think about this up front. But it also means you are not pigeon-holed into working around canned defaults when constructing the appropriate solution for the problem at hand.
Incidentally, in the javascript port of core.async, we are also trying to come up with a good error handling story [1]. One approach we are considering is (sort of) adapting the Erlang model, by treating goroutines' return channels as their identities. I'm researching error handling in CSP literature and prior implementations as well.
Once this is out in dead-tree form I will definitely get a copy or three (there are geeks around me who will enjoy it too).
This isn't just a very good introduction into Clojure. This is a real piece of art.
However if you want to have a really deep dive into actors/core.async/threading-primitives then more specialised books might be more helpful.
Agree with what others have said, Clojure for the Brave and True is a fantastic book, was excited when I got the leanpub email this morning alerting me to a new chapter.
If you still have trouble feel free to leave a comment on the site or tweet me - I'll be able to respond more quickly that way :)