15312 Foundations Of Programming | Languages //free\\

(evaluation rules) for a language. This formal approach ensures that if a program "type checks," it is guaranteed to be well-behaved—a concept famously summarized by Robin Milner: "Well-typed programs do not go wrong." What You Learn

Modern generics allow a single piece of code to operate on multiple data types. System F introduces bounded and unbounded parametric polymorphism, providing the foundational math behind Java Generics or C++ Templates. Control Effects and Continuations

A well-typed program never "gets stuck"; it either is a finished value or can take another step forward.

: The course treats a programming language as a mathematical object rather than an ad-hoc collection of features. 15312 foundations of programming languages

If you strip a programming language down to its bare essence—no numbers, no loops, no assignment—you get the , invented by Alonzo Church in the 1930s.

A typical week in "15312 foundations of programming languages" CMU:

That’s it. And yet, the lambda calculus is —it can compute anything computable. (evaluation rules) for a language

: Abstract syntax, typing rules (statics), and abstract machines (dynamics).

The foundational mathematical model of computation. It introduces concepts like abstraction and application, forming the basis for functional programming. Untyped vs. Typed

(parsing, code generation) Comparative Language Design (e.g., Rust vs. C++ semantics) Control Effects and Continuations A well-typed program never

How does a program decide what to do next? The usual answer: sequential execution, loops, conditionals, function calls.

: Inductive definitions, substitution, and rule induction.

): Understanding how types can be arranged in a hierarchy (e.g., a Dog is a Animal ).

This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.

Scroll to Top
This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.