vvvvalvalval / scope-capture

Project your Clojure(Script) REPL into the same context as your code when it ran
MIT License
573 stars 14 forks source link

Remove core.async dep, use promise-based impl instead #8

Closed vvvvalvalval closed 6 years ago

vvvvalvalval commented 6 years ago

The original goal of including core.async was to have a portable way of suspending / resuming execution in sc.api/brk. It turns out that core.async is not that portable, for instance self-hosted ClojureScript is not supported; it is also a bit too prescriptive about the green threading mechanism to use for non-blocking breakpoints.

So I'm going to remove the core.async dep, and reimplement sc.api/brk in terms of clojure.core/promise and clojure.core/deliver. There's no breakage here, as core.async has not yet been exposed in the API.