Programming Languages: Application and Interpretation
by Shriram Krishnamurthi
Publisher: Lulu.com 2007
Number of pages: 376
The book is the textbook for the programming languages course at Brown University, which is taken primarily by third and fourth year undergraduates and beginning graduate (both MS and PhD) students. It seems very accessible to smart second year students too, and indeed those are some of my most successful students. The book has been used at over a dozen other universities as a primary or secondary text. The book’s material is worth one undergraduate course worth of credit. The author wants to show students where languages come from, why we should regard languages as the ultimate form of abstraction, how to recognize such an evolving abstraction, and how to turn what they recognize into a language.
Home page url
Download or read it online for free here:
by Andrew M. Pitts - University of Cambridge
These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs.
by Kenneth Slonneger, Barry L. Kurtz - Addison Wesley Longman
The book presents the typically difficult subject of formal methods in an informal, easy-to-follow manner. Readers with a basic grounding in discreet mathematics will be able to understand the practical applications of these difficult concepts.
by Peter Selinger - Dalhousie University
Topics covered in these notes include the untyped lambda calculus, the Church-Rosser theorem, combinatory algebras, the simply-typed lambda calculus, the Curry-Howard isomorphism, weak and strong normalization, type inference, etc.
by Hanne Riis Nielson, Flemming Nielson - John Wiley & Sons
The book covers the foundations of structural operational semantics and natural semantics. It shows how to describe the semantics of declarative as well as imperative language constructs and will also touch upon non-sequential constructs.