About IT5100A
Typed Functional Programming
1.
Course Introduction
1.1.
Course Administration
1.2.
Functional Programming
1.3.
Haskell
1.4.
Exercises
2.
Types
2.1.
Type Systems
2.2.
Polymorphism
2.3.
Algebraic Data Types
2.4.
Pattern Matching
2.5.
Exercises
3.
Typeclasses
3.1.
Ad-Hoc Polymorphism
3.2.
Typeclasses
3.3.
Commonly Used Typeclasses
3.4.
Functional Dependencies
3.5.
Existential Typeclass Antipattern
3.6.
Exercises
4.
Railway Pattern
4.1.
Context/Notions of Computation
4.2.
Functors
4.3.
Applicative Functors
4.4.
Validation
4.5.
Monads
4.6.
Railway Pattern in Python
4.7.
Exercises
5.
Monads
5.1.
More on Monads
5.2.
Commonly Used Monads
5.3.
Monad Transformers
5.4.
Monads in the Wild
5.5.
Exercises
6.
Concurrent and Parallel Programming
6.1.
Concurrent Programming
6.2.
Parallel Programming
6.3.
Software Transactional Memory
Appendices
7.
Solutions to Exercises
7.1.
Chapter 1
7.2.
Chapter 2
7.3.
Chapter 3
7.4.
Chapter 4
7.5.
Chapter 5
7.6.
Chapter 6
8.
Recap of Concepts
8.1.
Recursion
8.2.
First-Class Functions
8.3.
Lambda Calculus
Light
Rust
Coal
Navy
Ayu
Typed Functional Programming
I highly recommend that you work through the exercises
before
looking at the worked solutions!