Download free course Principles of Programming Languages, pdf file on 163 pages by Mike Grant, Zachary Palmer, Scott Smith.
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.
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.
Table of contents
- Introduction
- Operational Semantics
- Tuples, Records, and Variants
- Side Effects: State and Exceptions
- Object-Oriented Language Features
- Type Systems
- Concurrency
- Compilation by Program Transformation
Pages : | 163 |
Size : | 1.1 MB |
Downloads: | 69 |
Created: | 2022-02-03 |
License: | CC BY-SA |
Author(s): | Mike Grant, Zachary Palmer, Scott Smith |
Warning: Trying to access array offset on false in /home/tutovnfz/public_html/amp/article-amp.php on line 263
Others related eBooks about Principles of Programming Languages
Download free course Defensive Database Programming with SQL Server, pdf file on 389 pages by Alex Kuznetsov.
The popular C programming language is used for a huge range of applications, from the tiny microcontrollers used in toasters and watches up to complete operating systems.
Download free course Practical Foundations for Programming Languages, pdf file on 590 pages by Robert Harper.
Physical computing allows us to build interactive physical systems by using software &..., download free C Programming tutorial in PDF (512 pages) created by Julien Bayle .
This book is written to introduce Haskell for programmers of imperative languagues, including C, C++, Java, Python, and Pascal, etc.