Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) by Carl A. Gunter (PDF)

9

 

Ebook Info

  • Published: 1992
  • Number of pages: 444 pages
  • Format: PDF
  • File Size: 17.25 MB
  • Authors: Carl A. Gunter

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.

User’s Reviews

Editorial Reviews: Review — Professor Robin Milner, University of Edinburgh” Gunter’s book treats the essence of programming language theory — the span between the ” meaning” of a computer program, and the concrete and intricate ways in which programs are executed by a machine. He brings together the established theoretical advances in this range. It is rewarding for someone who has played a small part in these developments to see them laid out so expertly, and with such pedagogic concern; readers new to the field — and many who already know a lot about it — will also be rewarded by following its carefully designed path.” — Professor Robin Milner, University of Edinburgh& quot; Gunter’s book treats the essence of programming language theory — the span between the & quot; meaning& quot; of a computer program, and the concrete and intricate ways in which programs are executed by a machine. He brings together the established theoretical advances in this range. It is rewarding for someone who has played a small part in these developments to see them laid out so expertly, and with such pedagogic concern; readers new to the field — and many who already know a lot about it — will also be rewarded by following its carefully designed path.& quot; — Professor Robin Milner, University of Edinburgh”Gunter’s book treats the essence of programming language theory–the span between the “meaning” of a computer program, and the concrete and intricate ways in which programs are executed by a machine. He brings together the established theoretical advances in this range. It is rewarding for someone who has played a small part in these developments to see them laid out so expertly, and with such pedagogic concern; readers new to the field–and many who already know a lot about it–will also be rewarded by following its carefully designed path.”–Professor Robin Milner, University of Edinburgh Review Carl Gunter’s Semantics of Programming Languages is a readable and carefully worked out introduction to essential concepts underlying a mathematical study of programming languages. Topics include models of the lambda calculus, operational semantics, domains, full abstractions, and polymorphism. The tone, selection of material, and exercises are just right―the reader experiences an appealing and rigorous, but not overwhelming, development of fundamental concepts.―Neil D. Jones, Professor of DIKU (Computer Science Department), the University of Copenhagen About the Author Carl A. Gunter is Professor in the Department of Computer and Information Science at the University of Pennsylvania. Read more

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐As an undergraduate student in the Computer Science major at Yale University during the spring semester of 1992 – 93, I used this textbook in Professor Paul Hudak’s class “Computer Science 430b: Formal Semantics.”Personally, I enjoyed using this textbook. It went into great detail into the theory of formal semantics of programming languages, using the lambda calculus. Having come from a background in the Scheme programming language, I immediately found the syntax of the lambda calculus familiar, as it had originally been used as the basis for the LISP programming language, of which Scheme was a variant.Most of the equations and proofs were clear and relatively easy to understand with reasonable effort, although Professor Hudak did suggest more elegant alternatives for some of the equations.The simply-typed lambda calculus, introduced in Chapter 2, proved a relatively easy-to-understand beginning basis for grasping the concepts of formal semantics. The book ventured on to discuss category theory, fixed-point semantics, untyped lambda calculus, and domain theory, among many other topics. In particular, I found the discussions on the simply-typed lambda calculus, category theory, and domain theory interesting.This textbook, together with Paul Hudak’s crisp and easy-to-understand teaching style, remain as some of my more pleasant memories from the otherwise brutal and grinding Yale computer science curriculum. Together, they are part of the reason that Scheme, with its basis on the lambda calculus, remains one of my favorite programming languages for the study of programming methodologies.Benjamin L. Russell

⭐This book has a deep coverage; should be enjoyed with a lot of patience and suitable cross references.

⭐本書の中心テーマは、プログラム言語上の再帰的定義に対応する数学的構造をドメインとカテゴリを駆使して求めることです。プログラム中の再帰的な定義式 x = F(x) (Fは式や型式などのプログラムコード)により与えられるxに対して、意味論は等式 d = P(d) (Pは数学上の関数や論理式を指す)を満たす数学的存在dを対応させます。このようなdを要素として持ち、さらにいくつかの条件を満たす順序集合をドメインと呼びます。種種の言語要素に考察の対象を広げるために、また、数学上の扱いやすさを求めて、ドメインがつくる構造をカテゴリを用いて整理します。カテゴリは数学のさまざまな場面に共通して現れるパターンを定式化したものです。まず、ドメイン内の要素と要素間の順序関係をカテゴリとしてとらえることができます。さらに、ドメインとドメイン間の関数から成るカテゴリや、カテゴリのカテゴリを考えることができます。こうして、論理学の言葉でsyntaxとsemanticsの関係を語るように、semanticsにおける構造をカテゴリの言葉で記述することができます。本書は難易度が高めで大学院向けのようです。数学色の濃いchapter 5, 8, 10は、直感的な説明や証明過程が省略気味(長谷川真人先生が評されるように「天下り的」)で苦労しました。ドメインについてはThe Formal Semantics of Programming Languages

⭐プログラム意味論

⭐カテゴリについてはConceptual Mathematics

⭐圏論による論理学

⭐などで事前に基本的なイメージを得ておくのがよいと思います。chapter 5, 8とあわせて長谷川真人先生

⭐の「自己言及の論理と計算」もHighly Recommendedです。errataがftp://ftp.cis.upenn.edu/pub/papers/gunter/SPL_errata.*にあります。errorらしき箇所はそのほかにもあります。

Keywords

Free Download Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) in PDF format
Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) PDF Free Download
Download Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) 1992 PDF Free
Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) 1992 PDF Free Download
Download Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) PDF
Free Download Ebook Semantics of Programming Languages: Structures and Techniques (Foundations of Computing)

Previous articleCompositionality, Concurrency, and Partial Correctness: Proof Theories for Networks of Processes, and Their Relationship: 321 (Lecture Notes in Computer Science, 321) by Job Zwiers (PDF)
Next articleAutomated Practical Reasoning: Algebraic Approaches (Texts and Monographs in Symbolic Computation) by Jochen Pfalzgraf (PDF)