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

Raspberry Pi Projects Book, Volume 5

The Raspberry Pi is loved the world over by educators and makers thanks to its tiny size a..., download free Raspberry Pi tutorial in PDF (200 pages) created by Wes Archer ....

Rethinking the Internet of Things

Over the next decade, most devices connected to the Internet will not be used by people in..., download free Internet of Things tutorial in PDF (192 pages) created by Francis daCosta ....

MATLAB Notes for Professionals

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

The Complete FreeBSD: Documentation from the Source

The Complete FreeBSD is an eminently practical guidebook that explains not only how to get a computer up and running with the FreeBSD operating system, but also how to turn it into a highly functional and secure server that can host large numbers of users and disks, support remote access, and prov...

Efficient Learning Machines: Theories, Concepts, and Applications for Engineers and System Designers

Machine learning techniques provide cost-effective alternatives to traditional methods for extracting underlying relationships between information and data and for predicting future events by processing existing information to train models. Efficient Learning Machines explores the major topics of ma...

Interpretable Machine Learning: A Guide for Making Black Box Models Explainable

This book explains to you how to make (supervised) machine learning models interpretable....

Fundamentals of Cryptology

Download fundamentals cryptography pdf tutorial, a complete and free training document under 603 pages by Henk C.A. van Tilborg....

Introducing Microsoft Power BI

Download free course Introducing Microsoft Power BI, pdf file on 189 pages by Alberto Ferrari, Marco Russo....

Haskell tutorial for professionals

Download free Haskell tutorial course in PDF, training file in 78 chapters and 230 pages. Free unaffiliated ebook created from Stack OverFlow contributor....

Rails on Containers

This book is designed to introduce you to using containers and Kubernetes for full-stack d..., download free Rails tutorial in PDF (316 pages) created by Kathleen Juell ....