Functional Programming with Haskell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Application
Setup
week1
week2
week3
week4
week5
week6
week7
week712
week8
README.md

README.md

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?