My Haskell code for "252-0058-00L Formal Methods and Functional Programming" at ETH Zurich, Spring 2022. Note that this repo only covers 25% of the course (FP coding exercises). Personally I think another 25% goes to proof of FP correctness, and the other half is in FM (formal methods).
- Basic Syntax, Lazy Evaluation, Pattern Matching
- List Comprehension
- Higher Order Functions (map, filter, zip, fold, curry, composition...)
- Types and Typeclasses
- FP Implementation of Algorithms (like quicksort)
- I/O, Parsers and (a bit of) Monads
See the course website for optional literature (I only read Learn you a Haskell for great good!).
- Week 7 Assignment 3: Regular Expressions
- Week 4 Assignment 1: Deterministic Finite Automata (DFA)
- Week 6 Assignment 2: N Queens Problem
- Exercises are due weekly, and cover contents up to that week
- Exercises are optional (they don't contribute directly to course grade)
- I got 21/22 out of all exercises (I couldn't solve the very last part of the very last question - hope it explains why it's my top favourite!)