- ホーム
- > 洋書
- > 英文書
- > Computer / Languages
Full Description
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.
Contents
Part 1 Introduction2 The simply-typed lambda-calculus: syntax of lambda terms; rules; models. Part 3 Categorical models of simple types: products and cartesian closure; lambda calculus with constants and products; the use of category theory. Part 4 Recursive definitions of functions: a programming language for computable functions; fixed points in complete partial orders; fixed point semantics of PCF; bounded recursion. Part 5 Two theories of finite approximation: bc-domains; stable functions and di-domains; equivalences between categories. part 6 Relating interpretations: full abstraction; extensions of adequacy results; products and sums. Part 7 Types and evaluation: expressiveness; security; reference types; recursive types; ML polymorphism and type inference. Part 8 Universal domains: untyped ?-calculus; domain equations. Part 9 Subtype polymorphism: subtypes as subsets; subsumption as implicit coercion. Part 10 Domain theory: fixed points of functors; bifinite domains; adjunctions and powerdomains. Part 11 Parametric polymorphism: calculi for expressing parametric polymorphism; indexed families of domains.