15312 Foundations Of Programming Languages [patched] [RECOMMENDED]

The "Dynamics" describe how a program steps from one state to the next. Using , you write rules that dictate exactly how an expression evaluates. This is where you learn about:

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. 15312 foundations of programming languages

The climax of the course is proving . Together, these two properties guarantee that if a program passes the type checker, it will either finish with a result or keep making progress—it will never crash or enter an undefined state. Why Study It? The "Dynamics" describe how a program steps from

The formal logic behind garbage collection and resource allocation. 4. The Safety Theorem It is a dense, rigorous, but incredibly rewarding

The "Statics" of a language define what it means for a program to be "well-formed" before it ever runs. You explore:

How a compiler can figure out what you mean without you telling it.

When exactly does an argument get computed?