15-312 Foundations of Programming Languages
Lecture 5: A Functional Language
In this lecture we present MinML, a minimal functional language.
Besides arithmetic and boolean expressions, it only contains definitions,
functions, and recursion. The language is call-by-value, which means
that the arguments to a function are evaluated before being passed;
the same scheme as used in ML.
We defined both the typing rules and the operational semantics
in the form of judgment. We also consider how the rules defining
the judgment may be read as algorithms for evaluation and type-checking.
MinML will be the point if departure for a number of extensions
considered in the remainder of this course.