Schedule
- : Meeting 1
What is FP? Intro to REPL and evaluating expressions.
- : Meeting 2
Tuples, Booleans, partial application, operator sections, pattern guards.
- : Assignment 1
- : Meeting 3
Recursive functions, evaluating expressions.
- : Meeting 4
List constructors and pattern matching.
- : Assignment 2
- : Meeting 5
Implementing list operators, syntax of list comprehensions.
- : Meeting 6
Intro to type syntax and some built-in type classes.
- : Assignment 3
- : Meeting 7
Type classes including
Show
,Eq
,Ord
,Enum
,Bounded
. Defining type synonyms and enumerated types. Brief intro toMaybe
type. - : Meeting 8
More on the
Maybe
type, includinglookup
andfmap
. Thecase
expression, field selectors, and recursive data types. - : Assignment 4
- : Meeting 9
Function composition using
.
and<=<
, theEither
type. - : Meeting 10
Defining a bounded stack type,
Functor
andBifunctor
type classes. - : Assignment 5
- : Meeting 11
The
Monoid
type class. - : Meeting 12
The
Ordering
type, laziness, infinite data structures. - : Assignment 6
- : Meeting 13
Data types for abstract syntax trees.
- : Meeting 14
Variable environments for expression trees, applicative functors.
- : Meeting 15 [exam]
Midterm exam.
- : Meeting 16
Pseudo-random number generation and threading state.
- : Assignment 7
- : Meeting 17
Generalizing PRNG operations, leading to
always
/andThen
. - : Meeting 18
Monad operations for
Maybe
and List. - : Assignment 8
- : Meeting 19
Remaining topics TBD…
- : Meeting 20
- : Assignment 9
- : Meeting 21
- : Meeting 22
- : Meeting 23
- : Meeting 24
- : Assignment 10
- : Meeting 25
- : Meeting 26
- : Meeting 27
- : Assignment 11
- : Meeting 28
- : Assignment 12