Concurrent ML

Concurrent ML (CML) is a multi-paradigm, general-purpose, high-level, functional programming language.

The design of CML and its primitive operations have been adopted in several other programming languages, such as GNU Guile,[5] Racket,[6] and Manticore.

Concurrent ML solves this problem by reducing this coupling of programming concepts by introducing synchronizable events.

[7] Events are a first-class abstraction that can be used with a synchronization operation (called sync in CML and Racket) in order to potentially block and then produce some value resulting from communication (for example, data transmitted on a channel).

In CML, events can be combined or manipulated using a number of primitive operations.