Skip to main content
  • Textbook
  • © 2011

Introduction to the Theory of Programming Languages

  • Introduction to the Theory of Programming Languages gives the reader the means to discover the tools to think, design, and implement programming languages Proposes a unified vision of the different formalisms that permit definition of a programming language Presents in a synthetic way what all computer scientists, whatever their speciality is, should know
  • Includes supplementary material: sn.pub/extras

Part of the book series: Undergraduate Topics in Computer Science (UTICS)

Buy it now

Buying options

eBook USD 29.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 39.95
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

This is a preview of subscription content, log in via an institution to check for access.

Table of contents (9 chapters)

  1. Front Matter

    Pages I-XI
  2. Terms and Relations

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 1-13
  3. The Language PCF

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 15-31
  4. From Evaluation to Interpretation

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 33-42
  5. Compilation

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 43-50
  6. PCF with Types

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 51-62
  7. Type Inference

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 63-71
  8. References and Assignment

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 73-80
  9. Records and Objects

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 81-88
  10. Epilogue

    • Gilles Dowek, Jean-Jacques Lévy
    Pages 89-91
  11. Back Matter

    Pages 93-96

About this book

The design and implementation of programming languages, from Fortran and Cobol to Caml and Java, has been one of the key developments in the management of ever more complex computerized systems. Introduction to the Theory of Programming Languages gives the reader the means to discover the tools to think, design, and implement these languages. It proposes a unified vision of the different formalisms that permit definition of a programming language: small steps operational semantics, big steps operational semantics, and denotational semantics, emphasising that all seek to define a relation between three objects: a program, an input value, and an output value. These formalisms are illustrated by presenting the semantics of some typical features of programming languages: functions, recursivity, assignments, records, objects, ... showing that the study of programming languages does not consist of studying languages one after another, but is organized around the features that arepresent in these various languages. The study of these features leads to the development of evaluators, interpreters and compilers, and also type inference algorithms, for small languages.

Reviews

From the reviews:

“The book is divided into eight chapters and an epilogue. … Faculty teaching an undergraduate programming languages course may find this book to be a useful reference. Summing Up: Recommended. Upper-division undergraduates through professionals/practitioners.” (J. Beidler, Choice, Vol. 48 (10), June, 2011)

“It is a short book--of about 100 pages--consisting of eight chapters and an epilogue. The book focuses on the formal description of programming language semantics and compilation using denotational semantics, small-step operational semantics (reduction semantics), and big-step operational semantics (natural semantics). … The book provides a good description of programming language concepts and motivates the necessary theory well. … The book is suitable for both professionals and graduate- and advanced undergraduate-level classes.” (Michael Oudshoorn, ACM Computing Reviews, November, 2011)

Authors and Affiliations

  • Labo. d'Informatique, École Polytechnique, Palaiseau CX, France

    Gilles Dowek

  • Centre de Recherche Commun, INRIA-Microsoft Research, Parc Orsay Université, Orsay Cedex, France

    Jean-Jacques Lévy

About the authors

Gilles Dowek is a Professor at École Polytechnique. He is also a Researcher at the Laboratoire d'Informatique de l'École Polytechnique and the Institut National de Recherche en Informatique et en Automatique (INRIA). His research concerns the formalization of mathematics and the mechanization of reasoning. His main contribution is a reformulation of the axiomatic method which provides a central role to the notion of computation. Jean-Jacques Lévy is a senior scientist at the Institut National de Recherche en Informatique et en Automatique and a Professor at École Polytechnique. He has successively worked on operational and denotational semantics of programming languages, on reduction strategies in lambda-calculus and in rewrite systems, on the computer aided design of circuits and on the semantics of concurrency with applications to distribution and mobility.

Bibliographic Information

Buy it now

Buying options

eBook USD 29.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 39.95
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access