3
votes

The core.async Clojure library has been in alpha for quite a while but it seems to me that it's quite commonly adopted anyways.

  1. Is it safe to use in production?
  2. If it's deemed safe, why is still alpha?
  3. There hasn't been a new release in almost a year (latest one was 2014-09-22). Is this something to worry about?
2

2 Answers

1
votes
  1. I would say yes. It is. This is, ultimately, something you'll have to decide for yourself though.

  2. Only the authors can answer that. My guess is that being alpha allows for the possibility of API changes (the deprecation of map<, filter<, mapcat<, et al).

  3. That there hasn't been a new release isn't as much of a warning to me when there hasn't been commit activity (the last commit was a month ago and while it was fairly trivial it shows the thing isn't abandoned).

Finally, I'd suggest seeing if any of the open issues (which have had activity as recently as two days ago) will be show-stoppers for your project.

If you would like an alternative, perhaps look at Pulsar.

2
votes

I've been using core.async in production for about a year without any particuar issue.

Predominantly it's put to use in Netty based applications which interact with Cassandra using Alia, which provides a nice core.async impl for retrieving data.

Core clojure moves very, very slowly, but is generally reliable in my experience. Be aware there are some open issues in JIRA that may impact your decision when deciding if core.async is suitable.