15312 Foundations Of Programming Languages [top] Jun 2026
You will extend the basic calculus with powerful features:
If a well-typed program takes an execution step, the resulting program has the exact same type.
You don’t need a CMU ID to learn this. The canonical texts for "15312 foundations of programming languages" are:
" began not with a line of code, but with a question: What is a program, truly? 15312 foundations of programming languages
Overall, "15312 Foundations of Programming Languages" is a comprehensive and engaging course that provides a solid foundation in programming languages. While it may have a steep learning curve, the course offers a wealth of knowledge and practical experience, making it an excellent choice for students and professionals interested in programming languages and software development.
To master the material covered in 15-312, the primary text is almost always by Robert Harper. It is a dense, rigorous, but incredibly rewarding guide to the field.
The structural trade-offs between compile-time guarantees and runtime flexibility. You will extend the basic calculus with powerful
The students of Carnegie Mellon University knew 15-312 wasn't just a class; it was a rite of passage into the abstract. While others wrestled with memory leaks in C, the "312" crowd sat in the TR 12:30 PM lecture contemplating the cosmic elegance of Type Theory and the "Progress and Preservation" of the universe itself. The Protagonist: The Compiler's Apprentice
Modern engineering relies on DSLs (SQL, Regex, configuration languages like YAML, even Terraform HCL). 15-312 gives you a blueprint for defining your own language: syntax, semantics, and a type checker.
forall a. a -> a
As the course progresses, students use these foundational tools to analyze complex language paradigms, including:
In this example, the identity function takes an argument x and returns it unchanged. Our type inference algorithm infers that identity has a type scheme forall a. a -> a , indicating that it works with any type a .
Closed or open-book exams focusing on both theory and application. 6. The "Bible" of the Course Overall, "15312 Foundations of Programming Languages" is a
[Pure Logic] ---> [Product/Sum Types] ---> [Functions/PCF] ---> [Imperative Memory/Continuations] MinLog & MinProd
Experience with structural induction and formal logic is crucial, as you will be proving properties of languages.