» » Semantics of Programming Languages: Structures and Techniques (Foundations of Computing)

Download Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) fb2

by Carl A. Gunter
Download Semantics of Programming Languages: Structures and Techniques (Foundations of Computing) fb2
Computer Science
  • Author:
    Carl A. Gunter
  • ISBN:
    0262071436
  • ISBN13:
    978-0262071437
  • Genre:
  • Publisher:
    The MIT Press (September 14, 1992)
  • Pages:
    441 pages
  • Subcategory:
    Computer Science
  • Language:
  • FB2 format
    1972 kb
  • ePUB format
    1273 kb
  • DJVU format
    1653 kb
  • Rating:
    4.7
  • Votes:
    197
  • Formats:
    lrf mbr mobi txt


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).

Gunter's book treats the essence of programming.

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

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.

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.

In such a case that the evaluation would be of syntactically invalid strings, the result would be non-computation.

Object-oriented distributed computing is becoming increasingly important for critical infrastructure in society. Asynchronous method calls and high-level local control structures allow local computation to adapt to network instability

Object-oriented distributed computing is becoming increasingly important for critical infrastructure in society. In standard object-oriented models, objects synchronize on method calls. These models may be criticized in the distributed setting for their tight coupling of communication and synchronization; network delays and instabilities may locally result in much waiting and even deadlock. Asynchronous method calls and high-level local control structures allow local computation to adapt to network instability. Object variables are typed by interfaces, so communication with remote objects is independent from their implementation.

Free 2-day shipping See our disclaimer

Foundations of Computing.

Abramsky, . Domain Theory. In: Handbook of Logic in Computer Science. Semantic Structures, vol. 3, pp. 1–168.

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Abramsky, . Oxford University Press, Oxford (1994)Google Scholar. 2. Allison, . A Practical Introduction to Denotational Semantics. Cambridge Computer Science, vol. 23.

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.


Samowar
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.