Foundations Of Programming Languages //top\\ - 15-312
Perhaps the most intellectually demanding section of the course, Static Semantics deals with the rules that govern a program before it ever runs. This is the study of Type Theory.
: Ensuring expressions are well-typed according to static rules. Writing Evaluators : Implementing single-step evaluation relations (dynamics). Language Extensions 15-312 foundations of programming languages
: Developing the ability to implement an interpreter directly from a language's formal definition. Carnegie Mellon University Key Concepts Covered Abstract Syntax Perhaps the most intellectually demanding section of the
You become immune to language wars. Python vs. Java? You see them as syntactic sugar over typed lambda calculus. You can look at a language feature (like C++ move semantics or Go’s goroutines) and immediately ask: What are the preservation and progress lemmas for this feature? 15-312 foundations of programming languages