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: 66
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

Professor Frisby's Mostly Adequate Guide to Functional Programming

Professor Frisby's Mostly Adequate Guide to Functional Programming

Programming Languages: Application and Interpretation

Java-Based Real-Time Programming

Power Programming with Mathematica

Others related eBooks about Principles of Programming Languages

Interpretable Machine Learning

Download free course Interpretable Machine Learning, pdf file on 312 pages by Christoph Molnar....

Introduction to C++ ,Pointers

Here you will learn how to get started with pointers in C++, how to access to the variables and memory, and how to use the pointers and arrays....

Learning Perl Through Examples

Download tutorial intituled Learning Perl Through Examples, it's a free training document under 72 pages by Yun Shen....

Word 2010 advanced part 1

Advanced tutorial about Microsoft Word 2010, download free course for beginners in PDF....

Programming Languages and Systems

Download free course Programming Languages and Systems, pdf file on 1056 pages by Amal Ahmed....

Java programming

This document is about a Java programming ,a free pdf tutorial for beginners a basic knowledge of object-oriented programming is assumed....

Mobile Apps developement with Apache Cordova

Downloaf a free Cordova course tutorial material for beginners to learn how to creat mobile application using this platfom, a PDF document by Hazem Saleh under 37 pages....

Ruby Hacking Guide

The Ruby Hacking Guide is a book that explains how the ruby interpreter (the official C implementation of the Ruby language) works internally. To fully understand it, you need a good knowledge of C and Ruby. This book is going to investigate ruby as a whole....

Introduction to ADA 2012

This course is for developers who already know Ada 95 and want to learn about the new possibilities brought by Ada 2005 and Ada 2012. A brief introduction to Ada 2012 by John Barnes....

Think Perl 6: How to Think Like a Computer Scientist

Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Perl 6, the younger sister of the popular Perl programming language. Ideal for beginners, this hands-on book includes over 100 exercises with multiple ...