Definition

In type theory, partial functions can be represented by several different monadic constructions. The most useful names are the maybe monad, the semidecidable lifting monad or non-termination monad, the delay monad, and the full partial-map-classifier monad.

The maybe monad, the semidecidable lifting monad, and the full partial-map-classifier monad are instances of the lifting pattern. The delay monad is different: it records delay steps coinductively rather than classifying partiality by propositions.

Constructions

ConstructionNameOther common names
maybe monad or option monaddecidable partiality monad
Partiality classified by semidecidable propositionssemidecidable lifting monadnon-termination monad, Sierpinski lifting, Rosolini lifting
delay monadCapretta’s delay monad, coinductive partiality monad
full partial-map-classifier monadpropositional lifting monad, full lifting monad

The semidecidable lifting monad is usually called the partiality monad or non-termination monad, not Capriotti’s monad.

Delay Monad
Lifting Monad
Maybe Monad
Type Theory