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

Software Innovation: Eight Work-style Heuristics for Creative System Developers

Software Innovation: eight work-style heuristics for creative system developers. ...

Essential iOS

This book written to provide clear and concise explanation of topics for programmers both starting to learn the iOS programming as well as those diving in more complex topics. Most examples are linked to online playground that allows you to change the code and re-run it....

Software for Exascale Computing - SPPEXA 2016-2019

Download free course Software for Exascale Computing - SPPEXA 2016-2019, pdf file on 624 pages by Hans-Joachim Bungartz, Severin Reiz, Benjamin Uekermann, Philipp Neumann, Wolfgang E. Nagel....

Pro Git, 2nd Edition

Pro Git (2nd Edition) is your fully-updated guide to Git and its usage in the modern world..., download free Git tutorial in PDF (456 pages) created by Scott Chacon ....

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

Visualising Facebook

Download free course Visualising Facebook, pdf file on 238 pages by Daniel Miller, Jolynna Sinanan....

Signal Computing

Download free course Signal Computing, pdf file on 207 pages by Michael Stiber, Bilin Zhang Stiber, Eric C. Larson....

Contribute to Opensource

Download free course Contribute to Opensource, pdf file on 100 pages by Daniele Scasciafratte....

Node.js Notes for Professionals

Download free course Node.js Notes for Professionals, pdf file on 333 pages by Stack Overflow Community....

Project Management Skills for All Careers

This textbook provides students with project management skills they can apply in any chosen profession. It offers practical, real-world insights for effective project management and guides you through the essentials of the people and project management. ...