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.