A theory of programming languages.

syntax: application, abstraction, variable Values: values are terms!! • Typically terms in normal form • Justifies the name “calculus” Environments: Not used! • (but names stand for terms) Evaluation rules: coming up Initial basis: sometimes empty, sometimes constants c ©Copyright 2002 Norman Ramsey, revisions copyright 2004 Allyn Dimock. All Rights Rese rved. 7 Operational semantics of lambda calculus New kind of operational semantics: small-step Judgment: M → N (“M reduces to N in one step”) • No environment! • Just pushing terms around: calculus The substitution model in 91.301 c ©Copyright 2002 Norman Ramsey, revisions copyright 2004 Allyn Dimock. All Rights Rese rved. 8