1 |
1/18 - 1/20 |
Introduction to FP: Expressions, Types, Functions, Algebraic Data Types (ADTs) |
Lec1 |
2 |
1/23 - 1/27 |
Higher-order functions, Combinators, Polymorphism, Modules & Functors.
|
Lec2,
Lec3
|
3 |
1/30 - 2/3 |
Modules & Functors (Contd.), Functional Data Structures. |
|
4 |
2/6 - 2/10 |
Math behind FP: Lambda Calculi |
|
5 |
2/13 - 2/17 |
CoreML, Type Checking, Type Inference |
|
6 |
2/20 - 2/24 |
Generalized ADTs, Higher-Order Abstract Syntax, Embedding DSLs |
|
7 |
2/27 - 3/3 |
References, Side-effects, Monads |
|
8 |
3/6 - 3/10 |
Monads (Contd.), Applicatives, Applicative Parsing |
|
9 |
3/15 |
Concurrency through LWT |
|
10 |
3/20 - 3/24 |
Concurrency through Algebraic Effects, Parallelism |
|
11 |
3/27 - 3/31 |
Spring Break |
|
12 |
4/3 - 4/7 |
Functional Reactive Programming
|
|
13 |
4/10 - 4/14 |
Network & Distributed Programming, Unikernels
|
|
14 |
4/17 - 4/21 |
Reasoning about Functional Programs, Dependent Type Systems
|
|
14 |
4/24 - 4/28 |
Program Synthesis
|
|
14 |
5/1 - 5/5 |
Program Synthesis (Contd.)
|
|