Denotational Semantics: A Methodology for Language Development
by David Schmidt
Publisher: Kansas State University 2009
Number of pages: 304
Denotational semantics is a methodology for giving mathematical meaning to programming languages and systems. It was developed by Christopher Strachey's Programming Research Group at Oxford University in the 1960s. The method combines mathematical rigor, due to the work of Dana Scott, with notational elegance, due to Strachey. Originally used as an analysis tool, denotational semantics has grown in use as a tool for language design and implementation. This book was written to make denotational semantics accessible to a wider audience and to update existing texts in the area. It presents the topic from an engineering viewpoint, emphasizing the descriptional and implementational aspects. The relevant mathematics is also included, for it gives rigor and validity to the method and provides a foundation for further research.
Home page url
Download or read it online for free here:
by Eric C.R. Hehner - Springer
Understanding programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. It describes a simple and comprehensive theory.
by Joey Paquet, Serguei A. Mokhov - arXiv
Lecture notes for the Comparative Studies of Programming Languages course. These notes include a compiled book of primarily related articles from the Wikipedia, as well as Comparative Programming Languages book and other resources.
by Bill Hails
This book presents an informal and friendly introduction to some of the core ideas in modern computer science, using the programming language Perl as its vehicle. The book takes the form of a series of working interpreters for the language PScheme.
by John R. Levine - Morgan Kaufmann
The author presents clear practical advice to help you create faster, cleaner code. You'll learn to avoid the pitfalls associated with Windows DLLs, take advantage of the performance-improving techniques supported by many modern linkers, etc.