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: 148
Created: 2021-05-15
License: Free
Author(s): Mike Grant
Principles of Programming Languages

Others Principles of Programming Tutorials

Others related eBooks about Principles of Programming Languages

Elements of Robotics

Download free course Elements of Robotics, pdf file on 311 pages by Mordechai Ben-Ari, Francesco Mondada....

Adobe Illustrator Photoshop Basics

This PDF tutorial is created for students who would like to learn the basics of the Adobe Illustrator CS6,free training document material on 76 pages by Sharon Steuer....

Efficient Learning Machines

Machine learning techniques provide cost-effective alternatives to traditional methods for..., download free Learning Machines tutorial in PDF (268 pages) created by Mariette Awad ....

Sensor Technologies

Download free course Sensor Technologies, pdf file on 321 pages by Michael J. McGrath, Cliodhna Ní Scanaill....

How to use computer for beginners

Computers and internet basics pdf tutorials, easy course for beginners to better understand the different uses of computer....

Learning LaTeX

Download free course Learning LaTeX, pdf file on 63 pages by Stack Overflow Community....

Energy Efficient Servers

Energy Efficient Servers: Blueprints for Data Center Optimization introduces engineers and..., download free Servers tutorial in PDF (360 pages) created by Corey Gough ....

Intel Xeon Phi Coprocessor Architecture and Tools

Download free course Intel Xeon Phi Coprocessor Architecture and Tools, pdf file on 220 pages by Rezaur Rahman....

Think Complexity: Complexity Science and Computational Modeling, 2nd Edition

This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science. ...

Idiot guide to Photoshop

Download a free Photoshop PDF tutorial in 9 chapters and 36 pages. Learning Photoshop is fun and easy, if you’re willing to learn. Actually, that sentence can be applied to learning anything, but in this guide you’ll be learning Photoshop, as you did in Part I and Part II of our Photoshop series...