git clone 'https://github.com/leonoel/missionary.git'
A functional effect and streaming system for clojure and clojurescript.
Experimental status, breaking changes should be expected.
Imperative-style concurrent programming comes along with serious pitfalls. Uncontrolled process spawning requires discipline and ceremony to properly handle failure and cancellation propagation, mixing essential and accidental complexity. Popular techniques such as channels and futures/promises don't solve this problem and often introduce concurrency concerns in otherwise purely sequential logic.
missionary takes a functional approach to this problem, modelling processes as values with precise semantics.
nil) to prevent combinatorial explosion of operators