/Haskell-1

Functional Programming with Haskell

Primary LanguageHaskell

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 and tagsoup
  • 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?