Semantics of Programming Languages
Semantics of Programming Languages exposes the basic motivations and philosophy underlying the applications of semantic techniques in computer science. It introduces the mathematical theory of programming languages with an emphasis on higher-order functions and type systems. Designed as a text for upper-level and graduate-level students, the mathematically sophisticated approach will also prove useful to professionals who want an easily referenced description of fundamental results and calculi.
Basic connections between computational behavior, denotational semantics, and the equational logic of functional programs are thoroughly and rigorously developed. Topics covered include models of types, operational semantics, category theory, domain theory, fixed point (denotational). semantics, full abstraction and other semantic correspondence criteria, types and evaluation, type checking and inference, parametric polymorphism, and subtyping. All topics are treated clearly and in depth, with complete proofs for the major results and numerous exercises.
About the Author
Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania.
—Robin Milner, University of Edinburgh
—David MacQueen, Head, Software Principles Department, AT&T Bell Laboratories, Murray Hill, New Jersey
—John C. Reynolds, Professor of Computer Science, Carnegie Mellon University
—Gary Leavens, Department of Computer Science, Iowa State University
—Neil D. Jones, Professor of DIKU (Computer Science Department), the University of Copenhagen