On Denotational Semantics

Formal semantics of programming languages Winskel

It all depends how deep you want to go, and how much you already know. For a beginner Winksel's book is really nice, but yes, it's not introducing you to the state of the art in semantics as it was written about 20 years ago. Nevertheless it's still a good first introduction to the subject. It might also be worthwhile pointing out that T. Nipkow has formalised a substantial chunk of Winskel's book in Isabelle/HOL, see here. So if you want to learn using interactive proof assistants together with understanding the semantics of programming languages, you have a lot of coherent material to draw on.

Other books that are more advanced are:

  • Gunter, Semantics of Programming Languages, a more advanced book focussing on denotational semantics, an approach to semantics, which hasn't lived up to expectations. Focusses on purely functional lanugages and ignores concurrency. This is the book that I taught myself semantics from as an undergraduate, and in retrospect I wish I had used Winksel's book instead. Gunter is not an easy read for a beginner.
  • John Mitchell's books which have already been mentioned above. They are also mostly about sequential computation.

Books like Pierce's TAPL are very nice, but focus narrowly on one aspect of programming languages, namely types, as important as that is. I would not recommend it as a first introduction to the general area of programming languages, but it is mandatory to read for anyone who wants to learn about types.

Truth be told, I think there's currently no up-to-date introductory book on language semantics that reflects the substantial progress the last decade has seen, with its decisive shift away from denotational methods and sequential computation to concurrency (process calculi and game semantics), axiomatics semantics and the use of interactive proof assistants in verification.

You might also like
Principles of Programming Languages Lecture 3 Part 1
Principles of Programming Languages Lecture 3 Part 1
Synopsis | The Formal Semantics Of Programming Languages
Synopsis | The Formal Semantics Of Programming Languages ...
Amazon Kubuntu 10.04 Desktop Edition
Software (Amazon)
  • Kubuntu 10.04 LTS brings you a stable, innovative and attractive platform for all your desktop needs
  • Latest version of the popular Plasma Desktop provides improved system tray with widgets, improved semantic search, new features such as window grouping
  • Amarok 2.3 media player features many bugfixes, enhancements, and visual changes, such as the new main toolbar and better podcast support
  • New touchpad configuration section of System Settings allows you to fine-tune how your laptop s touchpad behaves
  • Improved Firefox integration, with native file dialogs and compliance to default application choices for opening files
Related Posts