The causality project

Causality is a framework to write executable interpreters of programming language that are causal, ie. describing the causal relationships between actions instead of the possible sequential execution of a program (traces). This is extremely important in this day and age as programs are rarely executed in order: both compilers and processors perform reordering executions. Distributed systems might also not be able to preserve some sequential order of programs to improve performance.

The main component of the framework is an OCaml library implementing a monad for true concurrent operations:

Any questions? Feel free to contact me.