



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
Material Type: Notes; Class: PROG ANLYS&UNDERSTANDING; Subject: Computer Science; University: University of Maryland; Term: Unknown 1989;
Typology: Study notes
1 / 7
This page cannot be seen from the preview
Don't miss anything!




Lambda Calculus CMSC 631 – Program Analysis and Understanding Fall 2006 CMSC 631 2
■ ANSI C99 standard: 538 pages ■ ANSI C++ standard: 714 pages ■ Java language specification 2.0: 505 pages
Motivation CMSC 631 3
CMSC 631 7
■ λx.e = λy.(e[y\x]) if y FV(e)
Alpha Conversion
CMSC 631 19
(λx.e1) e2 → e1[e2\x] e → e′ (λx.e) → (λx.e′) e1 → e1′ e1 e2 → e1′ e e2 → e2′ e1 e2 → e1 e2′
CMSC 631 25
Normal Form CMSC 631 26
■ Usually we think only of reduction; adding symmetry extends this to equivalence ■ E.g., (λx.x) y → y ← (λz.λw.z) y y, so all three are beta equivalent
Beta-Equivalence CMSC 631 27
■ G needs to have a “base case” to ensure termination
In Other Words
CMSC 631 37