Hacker News new | ask | show | jobs
by moomin 4711 days ago
I understand that you have wider ambitions, but on this point I think you're misunderstanding how libraries are used (something that is sadly common in library authors). If libraries were only ever used by applications, your solution would work: you just swap one namespace for another. A slight pain, but nothing too outrageous.

The problem is, give it six months and there will be many libraries that themselves use core.async. The application developer then either can't use those libraries or has to fork them herself. This just isn't going to happen, so everyone ends up with the default implementation.

Thinking about it, it might be possible to write a lein plugin that intercepts load-library and puts in your own implementation. That might actually work. That or engage the clojure.core team and get some redesign on core.async so that it's pluggable at an application layer.

Please don't take this as blind criticism. Quasar looks really interesting and I'd like to see app developers be able to easily use it from Clojure.

1 comments

Yes, we've though about that. What we'll probably do is provide a "core.async" namespace. All you'll have to do is replace the name of the dependency in the leiningen project file.

Keep in mind, though, that Clojure, while our favorite language, is still quite small (adoption wise) compared to other JVM languages. Java and Ruby are at least as prominent on our roadmap.

BTW, love your username.