1978 Tony Hoare published a paper with the title Communication Sequential Processes. In this paper he introduced a model or algebra to describe processes and the communication between them.
This little project is just an incomplete collection of implementation of the examples which Hoare mentioned in this paper.
Clojure and the library core.async were used to implement the examples.
Well, after I already implemented most of the examples, I found the repository async-plgd of Alan Shaw which is similar to this one. I was very surprised how different or similar both implementation are. So feel free to compare both by your own.
Contains all coroutines of chapter 3.
Contains only the devider-example (4.1) and the factorial-example (4.2).
Contains the integer-semaphore of chapter 5.2.
Contains the dining philosophers example of chapter 5.3.
- clone the repository
- run lein deps
- start your Clojure REPL and execute the code
Distributed under the Eclipse Public License version 1.0