15312 Foundations Of Programming Languages -
The course aims to provide a unified mathematical framework for understanding language concepts across various paradigms, including functional, imperative, and concurrent programming. Statics and Dynamics: You will learn to give precise definitions of a language's (its type system) and (how programs actually execute). Type Safety: A major goal is mastering the concept of
When you understand type safety, you understand why a compiler rejecting your code is a feature . Languages with strong foundations (Rust, Haskell, OCaml) allow you to change 50% of your codebase, and if it compiles, it likely works. 15312 foundations of programming languages
Using the Lambda Calculus as a base, we explore how functions act as first-class citizens and how System F allows for "generic" programming through type variables. The course aims to provide a unified mathematical