Question

I am inquiring to know whether or not one can use the programming language Clojure for a message passing concurrency model i.e. no shared memory region between two processes/threads.

I wish to use Clojure for a few reasons, namely, I know and like Common Lisp and I would like to a functional programming language. I don't know too much about either Clojure or Concurrency however from wikipedia Clojure implements concurrency through software-transactional-memory,an agent system and a dynamic var system.

  1. Can Clojure implement a message passing concurrency model?
  2. If not, what other languages

Thank you for your help!

Was it helpful?

Solution

Can Clojure implement a message passing concurrency model?

Yes sure. It is already implemented for Clojure. Check Pulsar project. It looks really promising and ready for the prime time.

Of course, nothing stops you from using Akka.io since it is a JVM project (by using Clojure's built-in Java interop). But Pulsar is created with Clojure in mind.

what other languages?

Erlang is the undisputed champion when it comes to Actors model.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top