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

The Nature of Code

Download free course The Nature of Code, pdf file on 519 pages by Daniel Shiffman....

Mathematics for Computer Science

This book covers elementary discrete mathematics for computer science and engineering. It emphasizes mathematical definitions and proofs as well as applicable methods. It explores the topics of basic combinatorics, number and graph theory, logic and proof techniques, and many more....

Think Data Structures

Download free course Think Data Structures, pdf file on 187 pages by Allen Downey....

Learning acumatica PDF course

Download free Acumatica tutorial course in PDF, training file in 25 chapters and 116 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Natural Computing and Beyond

Download free course Natural Computing and Beyond, pdf file on 163 pages by Yasuhiro Suzuki, Toshiyuki Nakagaki....

The Essence of Software Engineering

Download free course The Essence of Software Engineering, pdf file on 236 pages by Volker Gruhn, Rüdiger Striemer....

DevOps for Digital Leaders

Download free course DevOps for Digital Leaders, pdf file on 176 pages by Aruna Ravichandran, Kieran Taylor, Peter Waterhouse....

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....

Docker for Developers

This book introduces the use of Docker focusing on best usage practices, based on the 12fa..., download free Docker tutorial in PDF (150 pages) created by Rafael Gomes ....

What Is Data Science?

Download free course What Is Data Science?, pdf file on 17 pages by Mike Loukides....