Foundations Of Programming Languages - 15312

Type theory is the jewel in the crown of 15-312. A type system is a logical discipline for classifying values and expressions. The famous (a central topic) reveals that a program is a proof, and a type is a logical formula. If your program type-checks, it is provably free of certain classes of errors (like adding a string to an integer).

As the course progresses, it moves beyond basic arithmetic and functions into complex computational mechanisms used in modern production languages. Continuations and Control Flow 15312 foundations of programming languages

The journey begins by moving away from "concrete syntax" (the curly braces and semicolons) and toward . You learn that a program is a structured mathematical object, not just a string of characters. 2. Statics: Type Systems Type theory is the jewel in the crown of 15-312

Defining which expressions are "done" evaluating (e.g., the number 5 or a function abstraction). If your program type-checks, it is provably free

including: