University of Helsinki
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
This is an online course on Functional Programming that uses the Haskell programming language. You can study at your own pace. All the material and exercises are openly available.
The course is intended to be followed through the Course page, but in case the course page is down or you want an offline backup, the course material is also available in this repository (part1.html, part2.html).
Exercises can be found under exercises/
directory. All required dependencies
can be downloaded and built with:
stack build
Exercises are Haskell source code files named Set1.hs
, Set2.hs
and so on.
You complete the exercises by editing the file according to the instructions in
the file. You can check your answers by running
stack runhaskell SetXTest.hs
in the exercises/
directory. Remember to replace X
with the number
of the set you are working on.
See the material for more info.
Here are some fixes for common problems with stack build
:
- If you get an error like
While building package zlib-0.6.2.3
, you need to install the zlib library headers. The right command for Ubuntu issudo apt install zlib1g-dev
. - If you get an error like
Downloading lts-18.18 build plan ... RedownloadInvalidResponse
, your version of stack is too old. Runstack upgrade
to get a newer one.
The Apple Silicon processor used on newer Mac computers requires a newer version of the Haskell compiler GHC than is used on this course. You can try the experimental ghc-9 branch of this repository
Please report any problems you have with it!
If you notice an error in these materials, you can report it via
- an issue or pull request in this repository (see CONTRIBUTING.md)
- the course channel on Telegram