I see (and use) core.async as low level primitives from which to build higher level FRP, reactive, flow-based or message-based systems.<p>For example, re-frame, zelkova (Elm-like thing in ClojureScript[1]) and others (eg the in-house thing I wrote before I came across re-frame) are implemented using core.async<p>So, no, its not a substitute - its a (potential) building block.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;jamesmacaulay&#x2F;zelkova" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;jamesmacaulay&#x2F;zelkova</a>