© 2014

Programming Languages and Operational Semantics

A Concise Overview

  • Provides the foundations and tools needed to design new programming languages and understand existing ones

  • Explains in a concise way the most significant constructs of modern imperative, functional and logic programming languages

  • Each chapter contains exercises that provide an opportunity to apply the concepts and techniques presented


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

Table of contents

  1. Front Matter
    Pages i-ix
  2. Preliminaries

    1. Front Matter
      Pages 1-1
    2. Maribel Fernández
      Pages 3-19
    3. Maribel Fernández
      Pages 21-41
  3. Imperative Languages

    1. Front Matter
      Pages 43-43
    2. Maribel Fernández
      Pages 45-60
    3. Maribel Fernández
      Pages 61-90
  4. Functional Languages

    1. Front Matter
      Pages 91-91
    2. Maribel Fernández
      Pages 93-120
    3. Maribel Fernández
      Pages 121-151
  5. Logic Languages

    1. Front Matter
      Pages 153-153
    2. Maribel Fernández
      Pages 155-166
    3. Maribel Fernández
      Pages 167-177
    4. Maribel Fernández
      Pages 179-206
  6. Back Matter
    Pages 207-209

About this book


Providing a concise introduction to the essential concepts in programming languages, using techniques from operational semantics, this book highlights three major programming paradigms:

• Imperative languages: the main features of these languages are     illustrated with examples in Java, Python, C;

• Functional languages: modern languages such as ML and Haskell are used to describe the functional style of programming;

• Logic languages: the last part of the book gives an overview of logic programming using Prolog.

Following a general description of each family of languages, their semantics are studied using abstract machines and structural operational semantics. Programming Languages and Operational Semantics gives an in-depth analysis of the basic concepts in programming languages instead of a mere survey of languages, assisting the understanding of the fundamental notions in programming languages over simply describing their properties.

It is addressed to undergraduate students, as a complement to programming courses.


Functional programming Imperative programming Operational semantics Programming languages Programming paradigms

Authors and affiliations

  1. 1.King's College LondonLondonUnited Kingdom

Bibliographic information

Industry Sectors
Chemical Manufacturing
IT & Software
Finance, Business & Banking
Energy, Utilities & Environment


From the book reviews:

“This text can serve as a complement to traditional undergraduate programming language course resources or as the main textbook for introductory courses in programming language operational semantics. The book is well organized, flows well, and is pleasant to read. … Summing Up: Recommended. Upper-division undergraduates and faculty.” (D. Papamichail, Choice, Vol. 52 (5), January, 2015)

“There are many things in this book that would lead to its recommendation as a course textbook: it provides a good breadth of material, and a stepping stone from programming experience to more theoretical aspects of programming languages. … it would be an excellent addition to a reference list that could be used to inform a solid understanding of programming language theory.” (Sara Kalvala, Computing Reviews, July, 2014)