Principles of Programming Languages



Download free course Principles of Programming Languages, pdf file on 163 pages by Mike Grant, Zachary Palmer, Scott Smith.
In this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and variants, mutable state, exceptions, objects and classes, and types. We also study language implementations, both through language interpreters and language compilers. Throughout the book we write small interpreters for toy languages, and in Chapter 8 we write a principled compiler. We define type checkers to define which programs are well-typed and which are not. We also take a more precise, mathematical view of interpreters and type checkers, via the concepts of operational semantics and type systems. These last two concepts have historically evolved from the logician's view of programming.

The material has evolved from lecture notes used in a programming languages course for juniors, seniors, and graduate students at Johns Hopkins University. While the book uses formal mathematical techniques such as operational semantics and type systems, it does not emphasize proofs of properties of these systems. We will nonetheless sketch the intuitions of some proofs.

Table of contents

  • Introduction
  • Operational Semantics
  • Tuples, Records, and Variants
  • Side Effects: State and Exceptions
  • Object-Oriented Language Features
  • Type Systems
  • Concurrency
  • Compilation by Program Transformation
Pages : 163
Size : 1.1 MB
File type : PDF
Downloads: 48
Created: 2022-02-03
License: CC BY-SA
Author(s): Mike Grant, Zachary Palmer, Scott Smith
Principles of Programming Languages

Others programming Tutorials

Mathematica® Programming: an Advanced Introduction

Effective AWK Programming, 5th Edition

Fundamentals of Python Programming

A Gentle Guide to Constraint Logic Programming via ECLiPSe, 3rd Edition

Is Parallel Programming Hard, And, If So, What Can You Do About It?

Others related eBooks about Principles of Programming Languages

Programming in Fortran 95

Download Fortran 95 course, PDF tutorial for beginners to learn the basics of Fortran programming language....

JavaScript Notes for Professionals

Download free course JavaScript Notes for Professionals, pdf file on 489 pages by Stack Overflow Community....

Tutorial JSF in PDF

Download free JSF tutorial course in PDF, training file in 6 chapters and 18 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

C++ Programming Language

This PDF course explains the features, technical details and syntaxes of the C++ programming language. To be a proficient programmer, you need to master two things: the syntax of the programming language, and the core libraries (i.e., API) associated with the language....

Mastering iOS Game Development

iOS is an operating system for Apple manufactured phones and tablets. Mobile gaming is one..., download free Game Development tutorial in PDF (228 pages) created by Miguel DeQuadros ....

Solving PDEs in Python

Download free course Solving PDEs in Python, pdf file on 152 pages by Hans Petter Langtangen, Anders Logg....

Fundamentals of C# programming

This tutorial is designated to learn the C# language and think like a programmer ,it's a free PDF document under 1122 pages for all level users....

Programming for Computations - MATLAB/Octave

Download free course Programming for Computations - MATLAB/Octave, pdf file on 228 pages by Svein Linge, Hans Petter Langtangen....

Getting started with Arduino

Download Arduino tutorial for beginners, 93-page PDF tutorial created by StackOverFlow....

Ruby on Rails Notes for Professionals

Download free course Ruby on Rails Notes for Professionals, pdf file on 230 pages by Stack Overflow Community....