Functional programming; lists and algebraic data types, pattern matching, parametric polymorphism, higher-order functions, reasoning about programs; lazy and strict evaluation; programming with monads; domain-specific languages.
Functional programming; lists and algebraic data types, pattern matching, parametric polymorphism, higher-order functions, reasoning about programs; lazy and strict evaluation; programming with monads; domain-specific languages.