Lazy EvaluationExplores lazy evaluation in functional programming, focusing on Scala's implementation of lazy lists.
Safe Mutation in PracticeExplores safe mutation in functional programming through lazy evaluation, object invariants, and efficient caching functions.
Compiler Extension LabCovers the Compiler Extension Lab, focusing on adding new functionality to a simple functional language compiler.
Functional Programming Basics in ScalaCovers the basics of functional programming in Scala, including evaluation strategies, conditionals, and value definitions, with a focus on computing square roots with Newton's method.
Polymorphism and ProofsCovers parametric polymorphism, lists construction, tuples, generic methods, merge sort, and proving program properties.
A Closer Look at ListsCovers list construction, methods, and implementations, including exercises and complexity analysis.