SU-CS242 OCT152024
Lambda Calculus, review Grammar:
and beta reductions:
structural operational semantics “why can’t we have logical rules to explain how programs execute?”
bold
type judgment \begin{equation} A \vdash e :t \end{equation}
“under environment A for the free variables of e, the entirety of e has type t”
value judgment \begin{equation} E \vdash e \to v \end{equation}
“under environment E assigning values to the free variables in e, e will reduce to the value of v”
value A value in computation is a subset of programs that can’t be further reduced. In particular, some pure lambda abstraction \lambda x . e is a value.
value judgment evaluations Under a call-by-value scheme—we will first reduce function arguments.
variables
(i.e. the value of a variable can just be looked up)
integer
application
abstractions
state OMG side effect smh
state