/chocolalib

Chocola as an extension of Clojure

Primary LanguageJavaEclipse Public License 1.0EPL-1.0

Chocola – composable concurrency

Chocola is a Clojure library for concurrent and parallel programming. It provides futures, transactions, and actors. It is unique in ensuring that these three models work correctly even when they are combined.

More at http://soft.vub.ac.be/~jswalens/chocola

Getting started

Chocola can easily be used in existing Clojure projects that use Leiningen. In your project's project.clj, add the following line:

  :injections [(require 'chocola.core)]

This injects the call to include Chocola in your code. Chocola will patch Clojure and modify its internals to use Chocola's semantics.

To do

This library version of Chocola is still a work in progress. Some things we still plan to do:

  • Add more documentation on how to include Chocola. Check whether everything works as expected.
  • Add documentation on how to use Chocola, what its semantics are...
  • Finish a large number of loose ends in the implementation.

Publications

We published about Chocola at the following academic conferences:

License

Copyright © 2018 Janwillem Swalens, Software Languages Lab, Vrije Universiteit Brussel. Distributed under the Eclipse Public License, included in the file LICENSE.