Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles $Revision: 1.6.2.16 $; site ima.UUCP Path: utzoo!linus!philabs!cmcl2!harvard!bbnccv!ima!compilers From: compilers@ima.UUCP Newsgroups: mod.compilers Subject: denotational semantics and compilers Message-ID: <136300038@ima.UUCP> Date: Thu, 9-Jan-86 14:40:00 EST Article-I.D.: ima.136300038 Posted: Thu Jan 9 14:40:00 1986 Date-Received: Sat, 11-Jan-86 06:12:05 EST Lines: 18 Approved: compilers@ima.uucp Nf-ID: #N:ima:136300038:000:759 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. -Saumya Debray SUNY at Stony Brook