Principles of Programming Languages


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.
Download free tutorial in PDF (163 pages) created by Mike Grant .
Pages : 163
Size :
File type : HTML
Downloads: 180
Created: 2021-05-15
License: Free
Author(s): Mike Grant
Principles of Programming Languages

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

Others Principles of Programming Tutorials

Others related eBooks about Principles of Programming Languages

O'Reilly® DocBook 5: The Definitive Guide

If you need a reliable tool for technical documentation, this clear and concise reference will help you take advantage of DocBook, the popular XML schema originally developed to document computer and hardware projects. DocBook 5.0 has been expanded and simplified to address documentation needs in ...

D3 Tips and Tricks v3.x

Download free course D3 Tips and Tricks v3.x, pdf file on 551 pages by Malcolm Maclean....

The Elements of Data Analytic Style

Download free course The Elements of Data Analytic Style, pdf file on 98 pages by Jeff Leek....

Policy-Oriented Technology Assessment Across Europe: Expanding Capacities

Download free course Policy-Oriented Technology Assessment Across Europe: Expanding Capacities, pdf file on 188 pages by Lars Klüver, Rasmus Øjvind Nielsen, Marie Louise Jørgensen....

Google Maps API Succinctly

Download free course Google Maps API Succinctly, pdf file on 104 pages by Mark Lewin....

Blazor Succinctly

Download free course Blazor Succinctly, pdf file on 86 pages by by Michael Washington....

Yet Another Introductory Number Theory Textbook (Cryptology Emphasis Version)

This introductory number theory textbook has a particular emphasis on connections to cryptology. ...

The InfoSec Handbook

Download free course The InfoSec Handbook, pdf file on 376 pages by Umesh Hodeghatta Rao, Umesha Nayak....

HoloLens Succinctly

Download free course HoloLens Succinctly, pdf file on 85 pages by Lars Klint....

Data + Design: A Simple Introduction to Preparing and Visualizing Information

Visualizing Data is about visualization tools that provide deep insight into the structure of data. But the book is much more than just a compendium of useful tools. It conveys a strategy for data analysis that stresses the use of visualization to thoroughly study the structure of data and t...