|denotational semantics and compilers compilers@ima.UUCP (1986-01-09)|
|Relay-Version:||version B 2.10.2 9/12/84; site mit-hermes.ARPA|
|Posting-Version:||Notesfiles $Revision: 126.96.36.199 $; site ima.UUCP|
|Date:||9 Jan 86 19:40:00 GMT|
|Posted:||Thu Jan 9 14:40:00 1986|
|Date-Received:||11 Jan 86 11:23:59 GMT|
|Nf-From:||ima!compilers Jan 9 14:40:00 1986|
[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.
SUNY at Stony Brook
Return to the
Search the comp.compilers archives again.