




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
These are lecture notes from the course 15-814: Types and Programming Languages taught by Frank Pfenning at an unknown university in Fall 2020. The notes cover the principles of programming language design, with a focus on the Lambda Calculus and its importance in computation. The notes cover topics such as the representation of Booleans and the definition of functions on values of the type.
Typology: Lecture notes
1 / 328
This page cannot be seen from the preview
Don't miss anything!





























































































L ECTURE N OTES FALL 2020
This course is about the principles of programming language design, many of which derive from the notion of type. Nevertheless, we will start by studying an exceedingly pure notion of computation based only on the notion of function, that is, Church’s -calculus [CR36 ]. There are several reasons to do so.
L ECTURE N OTES T UESDAY, S EPTEMBER 1, 2020
The Lambda Calculus L1.
x. Bound variables can be renamed consistently in a term So x. x + 5 = y. y + 5 = whatever. whatever + 5. Generally, we rename variables silently because we identify terms that differ only in the names of -bound variables. But, if we want to make the step explicit, we call it ↵-conversion.