Conference paper

Monotonicity Types for Distributed Dataflow

The Lasp programming language provides combinator functions such as Union and Intersection for combining set CRDTs. When designing a CRDT combinator, care must be taken to ensure that the combinator is monotone separately in each of its arguments, so that applying it to a tuple of increasing input streams yields an increasing output stream. We consider designing a type system which can prove the monotonicity of CRDT combinators.

Related material