Functional Programming with Haskell
This is a draft program. It can change.
- Introduction to Functional Programming & the Haskell language. Basic concepts & syntax. Pure functions and immutability.
- Starting out with functions, type signatures & solving problems with recursion. Difference between types and typeclasses.
(x:xs)- Lists & Problems with lists. Pattern matching.
- Higher order functions - the complete package. maps, filters and folds.
- Currying, Partial function applications & function composition.
- Haskell's type inference & lazy evaluation - examples. Strictness & Non-Strictness
- Making our own types & typeclasses.
- Input / Output & making some console tools with Haskell.
- Introduction to Haskell's real world tools - Cabal. How to install 3rd party libraries & make projects.
- Consuming HTTP & parsing / crawling websites with
- Making simple HTTP servers with Scotty or Yesod
- Looking things from the abtract point of view - starting with the typeclasses for Functors and Applicative Functors.
- Raising up the abstraction level - Associative binary functions, identities and monoids.
returndoes not return what you think it returns! Hello Monadic World.
- Looking back to the libraries we have used with the newly aquired knowledge. How are they implemented? Can we do it ourselves?