Login to filter by course Login to filter by course Reset
Subtyping and PolymorphismExplores subtyping rules, challenges, and its connection to various forms of polymorphism in programming languages.
Subtyping and GenericsExplores subtyping, generics, type bounds, variance, covariance, and array typing challenges in Java and Scala.
Generics and SubtypingCovers advanced concepts in generics and subtyping in Java, focusing on LinkedList implementation and List interface.
Method Dispatch OptimizationExplores method dispatch optimization in object-oriented languages, focusing on inline caching and membership tests.
Subtyping and Generics in ScalaExplores subtyping, generics, and variance in Scala, emphasizing the importance of precise type descriptions and demonstrating practical applications of for expressions.
Subtyping and Type CalculusExplores subtyping, type calculus, and type bounds calculation in a system with subtyping, guiding through exercises and proofs step by step.
Compiler Extension LabCovers the Compiler Extension Lab, focusing on adding new functionality to a simple functional language compiler.
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
Types and Inductive RelationsDiscusses the importance of types, unsound type systems, and inductively defined relations for a small language's type system.