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: 77
Created: 2022-02-03
License: CC BY-SA
Author(s): Mike Grant, Zachary Palmer, Scott Smith
Principles of Programming Languages

Warning: Trying to access array offset on false in /home/tutovnfz/public_html/article.php on line 233

Others programming Tutorials

Learn Programming

Programming Computer Vision with Python

Certified Programming with Dependent Types

Basic Programming Concepts

Professor Frisby's Mostly Adequate Guide to Functional Programming

Others related eBooks about Principles of Programming Languages

Learning akka PDF course

Download free Akka tutorial course in PDF, training file in 9 chapters and 29 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

The Official Raspberry Pi Handbook 2022

Download free course The Official Raspberry Pi Handbook 2022, pdf file on 204 pages by Wes Archer, David Crookes, PJ Evans, Gareth Halfacree, Rosie Hattersley, Phil King, Nicola King, KG Orphanides....

Eclipse and Java

Download free PDF tutorial about the Java development environnement 'Eclipse' and Java ,this document will helps you to learn the basics of using Eclipse for writing Java programs....

XcalableMP PGAS Programming Language

Download free course XcalableMP PGAS Programming Language, pdf file on 265 pages by Mitsuhisa Sato....

Learning Android

A complet Android Course in PDF format, this is a free Android ebook created for educational purposes by Stack Overflow documentation....

Fast Lane to Python

This book aims to enable the reader to quickly acquire a Python foundation. The material particularly feel quite comfortable to anyone with background in an object-oriented programming (OOP) language such as C++ or Java....

Essential C#

This book written to provide clear and concise explanation of topics for programmers both starting to learn the C# programming language as well as those diving in more complex topics. Most examples are linked to online playground that allows you to change the code and re-run it....

Introduction to Data Science

The demand for skilled data science practitioners in industry, academia, and government is..., download free Data Science tutorial in PDF (722 pages) created by Rafael A Irizarry ....

The JavaScript Way

Download free course The JavaScript Way, pdf file on 288 pages by Baptiste Pesquet....

Modern Java EE Design Patterns

Download free course Modern Java EE Design Patterns, pdf file on 67 pages by Markus Eisele....