15312 Foundations Of Programming Languages _hot_ May 2026
15-312 Foundations of Programming Languages is a core computer science course at Carnegie Mellon University (CMU) that explores the mathematical principles behind programming language design, semantics, and implementation.
Standard ML (SML)
: The primary implementation language is SML, which students use to build interpreters for various language models directly from their formal definitions. Key Topics Covered 15312 foundations of programming languages
- Progress: A well-typed program is either a finished value or can take a next step (it’s not "stuck").
- Preservation: If a program takes a step, its type remains the same.
design and implement
While 15-312 has a reputation for being demanding—similar to courses like OS or Compilers—it is often cited as a favorite by students interested in PL theory. It provides the tools to not only learn new languages quickly but to new ones from scratch. 15-312 Foundations of Programming Languages is a core
Mathematical Foundations
: Inductive definitions, substitution, and rule induction. Progress: A well-typed program is either a finished
Statics:
Using type systems to ensure programs make sense before they ever run.
- Progress: A well-typed program is never "stuck"; it is either a finished value or it can take a step.
- Preservation: If a well-typed program takes a step, the resulting program is also well-typed.