The join-calculus first is a process calculus. It provides a simple support for distributed programming.
The join-calculus programming model features concurrent processes running on several machines, static type-checking, global lexical scope, transparent remote communication, agent-based mobility, and some failure-detection.
We have developped three implementations of the Join-Calculus in the Objective-CAML environment.