Haskell-1
Functional Programming with Haskell
Course Program
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.
(.)
and($)
. - 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
wreq
andtagsoup
- 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.
return
does 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?