Although VDM semantic descriptions of programming language are denotational, they can be read quite operationally. After recalling
the main features of denotational semantics, this paper examines the combinators of the VDM specification language, and relates
them to the use of monads in the monadic style of denotational semantics. It also provides an overview of published VDM semantic
descriptions of major programming languages. Familiarity is assumed with the basic concepts of formal specification.