[mod.compilers] denotational semantics and compilers

compilers@ima.UUCP (01/09/86)

[from ihnp4!philabs!sbcs!debray        (Saumya Debray)]

> When I read a denotational semantics, I think of it as an
> operational semantics written in Scheme ...

One big difference between denotational and opeerational semantics is
that the former lets us talk about nonterminating computations in a
useful way.  All nonterminating computations are treated as being
equivalent to "bottom", which essentially denotes "having zero
information content"; this isn't possible in operational semantics.
This equivalence forms the basis for strictness analysis, for example,
which enables us to replace call-by-name parameter passing by an
"equivalent" (but much more efficient) call-by-value parameter passing
at compile time.

-Saumya Debray
SUNY at Stony Brook