Denotational semantics
|
In computer science, denotational semantics is one of the approaches to formalize the semantics of computer programs. Other approaches include axiomatic semantics and operational semantics. (See semantics of programming languages.)
Denotational semantics generally interprets the meaning of a computer program as a function and types as domains in the sense of domain theory. It can be seen as a branch of model theory, and has many connections with type theory and category theory. Within computer science, there are connections with abstract interpretation, program verification and functional programming, see for instance monads in functional programming.
A key concept in denotational semantics is the principle of compositionality: the meaning of an expression (or indeed a whole program) is composed of the meaning of its constituent parts.
The field was originally developed by Christopher Strachey and Dana Scott in the 1960s.
Montague grammar is a form of denotational semantics for idealized fragments of English.
References
A classic (but dated) textbook on the subject is: Joseph E. Stoy. Denotational Semantics: The Scott-Strachey Approach to Programming Language Semantics. MIT Press, Cambridge, Massachusetts, 1977.
David A. Schmidt. The Structure of Typed Programming Languages. MIT Press, 1994 ISBN 026269171X
External links
- http://www.csse.monash.edu.au/~lloyd/tilde/Semantics/
- http://www.risc.uni-linz.ac.at/people/schreine/courses/densem/densem.html
- http://www.cis.ksu.edu/~schmidt/text/densem.html Creative Commons licensed text on Denotational Semantics
- http://www.honors.montana.edu/~jjc/presentation/contents.xhtmlTemplate:Compu-stub