15312 Foundations: Of Programming Languages
Capturing the remaining execution path of a program, allowing the implementation of custom control flows like exceptions and coroutines.
By creating expressive libraries that leverage type systems to catch developer errors at compile time.
is a rigorous undergraduate course at Carnegie Mellon University that treats programming languages as mathematical objects rather than just collections of features. Course Overview 15312 foundations of programming languages
Standard control flow moves from top to bottom, but advanced applications require jumps, exceptions, and coroutines. 15-312 introduces —the representation of the "rest of the program" at any given point. Understanding continuations unlocks the mechanics behind exception handling, web servers, and green threads. Imperative Effects and Memory
"Foundations of Programming Languages" (15-312 / 15312) is much more than a class; it's an intellectual expedition into the heart of computation. By the end of this demanding but rewarding course, you will have learned to see all programming languages through a unified, scientific lens. It's a course that will profoundly influence how you think about, design, and build software for the rest of your career. Capturing the remaining execution path of a program,
The primary vehicle for assignments in 15-312 is . SML is chosen because its features map directly to programming language theory: Strong, Static Typing: Prevents invalid states.
### inferType
If you want to delve deeper into a specific area of programming language theory, let me know. I can provide detailed , walk through a progress and preservation proof , or explain System F polymorphism . Which of these topics Share public link
To give you a more concrete sense of the journey, let's look at a typical semester's schedule. One archived syllabus from Spring 2014 shows the following progression: Course Overview Standard control flow moves from top
Closed or open-book exams focusing on both theory and application. 6. The "Bible" of the Course
While 15-312 is highly theoretical, its practical implications are vast.
