SLIDE 91 Basic Domain Theory Denotational Semantics Non-standard Semantics Functional Programs While Programs
Compose Meaning for Programs
◮ For every data type, find a domain whose elements correspond
to values of the type, computationally.
◮ Type unit is domain 2, type bool is domain B, type nat is
domain N, etc.
◮ For a user-defined data type, construct a domain equation to
the specification of the type, then solve the equation.
◮ For built-in constants of a data type, map them to the
corresponding values in the domain for the type.
◮ () is mapped to ⊤ ∈ 2, true is mapped to T ∈ B, not is
mapped to a function not ∈ B → B where not = {(⊥, ⊥), (F, T), (T, F)}.
34 / 66