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

Arduino projects for Genuis

Download free Arduino tutorial in PDF , this book will show the Genius how to attach an Arduino board to their computer and program it....

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

Microsoft Dynamics NAV Administration

Microsoft Dynamics NAV is an Enterprise Resource Planning (ERP) software product that inte..., download free NAV Administration tutorial in PDF (190 pages) created by Amit Sachdev ....

Asterisk: The Future of Telephony

Download free course Asterisk: The Future of Telephony, pdf file on 604 pages by by Jared Smith, Jim Van Meggelen, Leif Madsen....

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

Cloud Native Applications

Download free course Cloud Native Applications, pdf file on 120 pages by Michael Wittig, Andreas Wittig....

The Coder's Apprentice

Download free course The Coder's Apprentice, pdf file on 398 pages by Pieter Spronck....

How To Manage Remote Servers with Ansible

Download free course How To Manage Remote Servers with Ansible, pdf file on 72 pages by Erika Heidi....

LDAP for Rocket Scientists

This book is about LDAP, OpenLDAP 2.x and ApacheDS on Linux and the BSD's (FreeBSD, OpenBSD and NetBSD). It is meant for newbies, Rocket Scientist wannabees and anyone in between:...

Code: The Hidden Language of Computer Hardware and Software

What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communic...