CS 15-212: Fundamental Structures of Computer Science II

Lecture 5: Tail Recursion and Structural Induction

We discuss tail recursion, a form of recursion that is somewhat like the use of loops in imperative programming. This form of recursion is often especially efficient and easy to analyze.

We also introduce the list data structure in ML, and discuss the method of structural induction on recursively defined types. This technique parallels standard induction on predicates, but has a unique character of its own, and arises often in programming.

Key Concepts

Sample Code

Handouts

On-line Notes by Robert Harper

[ home | schedule | language | assignments | handouts ]

John Lafferty
lafferty@cs.cmu.edu