R0KernelPath
roadmap/track 18
18

Programming Languages

Semantics, type systems and the lambda calculus.

0
cs6-01

Syntax, Semantics & the Lambda Calculus

Lambda calculus is the 50-line mathematical model that secretly IS every functional programming language — master it and you understand the foundations of Haskell, ML, Scheme, and the type-theoretic universe.

12 concepts~18h
cs6-02

Operational & Denotational Semantics

Formal semantics gives programs unambiguous mathematical meaning — making compilers, verifiers, and type systems provably correct.

11 concepts~18h
cs6-03

Type Systems & Type Checking

Type systems are the mathematical discipline of classifying program expressions so that a compiler can prove, before running a single line, that certain classes of runtime errors simply cannot happen.

10 concepts~12h
cs6-04

Polymorphism & Type Inference

Polymorphism and type inference reveal how a language can be simultaneously flexible and safe — writing one function that works for all types while a compiler proves it correct without a single annotation.

10 concepts~18h
cs6-05

Advanced Type Features

From simple tags to proofs-as-programs: master the type-level abstractions that make compilers your ally instead of your enemy.

8 concepts~18h
cs6-06

Memory Management & Garbage Collection

From malloc/free to generational GC to Rust's borrow checker — every strategy for who controls memory, how it works under the hood, and what guarantees it buys you.

11 concepts~18h
cs6-07

Concurrency Models

Master the five major models for managing concurrent computation — shared memory, CSP, actors, STM, and async/await — understanding not just their mechanics but the deep tradeoffs that determine which model belongs in which system.

9 concepts~18h
cs6-08

Paradigms & Metaprogramming

From Turing machines to Lisp macros: how the way you think about computation shapes the programs you can write — and the languages you can build.

11 concepts~18h