Generalising our semantics [dt-005Z]

We return to the \mathcal {C} language we saw previously:

If we wish to add other kinds of effects (beyond mutation of state) to our language, this will necessarily affect the semantic domain. Rather than rewrite the entire semantics for each possible setting, we will generalise the semantics to work over any instance of an algebraic structure, called a monad.

Sometimes it is more convenient to work with the Kleisli composition operator, rather than the operations \mu and \eta directly.

Context

Lecture. Domain theory › Monadic semantics, Scott domains and nondeterminism [dt-005V]

Related

Definition. Kleisli category [dm-000T]

Definition. Monad [dm-000U]

Definition. The \mathcal {C} Language [dt-005R]

Definition. The \mathcal {C} Language (without loops) [dt-0000]