Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English

Functional Programming

Course News VT19:




22.3.2018 The sign-in page is finally ready. Please use it for the following purposes:

  1. to find a partner for the programming assignments (NOTE 1: choose the list for the course you are registered for) (NOTE 2: no need to fill in if you already have a partner)
  2. ONLY if you follow EDAF40, to book one of the three lab occasions (repeated 4 times in weeks 3, 4, 5 and 6) 3. to book one of the three (week 2) or two (weeks 4 and 6) class occasions. Note that weeks 4 and 6 will offer only afternoon occasions!

19.3.2018 Most of the information on this site should be updated for 2018-incarnation of the course. Please let me know about any omissions, inaccuracies or errors.

The picture above is taken from

26.11.2015: Another case of missing module has been detected: Test.HUnit. To fix it, please follow instructions on the Programming Environment page. Thank you again, Linus!

22.11.2015: A short help for those of you who have problems with System.Random has been put on the Programming Environment page. Thank you Linus!

20.10.2015: Some serious press writes about Haskell usage. And another functional programming goodie from the same source.

19.11.2013: An illustration of the infinite list defined by cats = cat : cats. More of Lambdacats can be found here (thanks, Christoffer).

1.10.2013: Please note that the mail address is used solely for submitting assignments. Any other communication should be attempted directly with a teacher (lecturer or TA).

1.10.2013: A fresh view on Haskell. Enjoy.

1.10.2013: Please note that during the exam you will be given a "cheat sheet" with some Prelude functions, probably all the functions you would need during the exam (maybe except bind:-).

18.12.2011: Some of you have asked about utility of Haskell in "real life". I have just received a link (thanks Christoffer!) to an interesting press release, with, among others, the following piece:

“We are one of the first companies in the world to base our whole product on Haskell. Today Haskell is mainly used for limited applications such as in algorithms developed by Wall Street banks and for US government top security storage, applications where reliability is key. We chose Haskell because we see quality as a top priority. By choosing Haskell, a mathematical language with a steep learning curve, we were hoping to attract the best technical people from around the globe.”, says Lukas Duczko, CEO and founder of Scrive.

The complete announcement.

(N.B. in October 2015 the company still exists and seems to thrive.)

9.11.2011: The programming assignment submissions are read and evaluated by humans. Expect an answer normally within three days, maximally a week. Do not expect an immediate response.

8.11.2011: I sincerely expected that the following reminder is not necessary: the department has defined a policy against plagiarism of any kind, in particular in case of the course work. You may find it following the following links: Samarbete eller fusk (in Swedish) and Cooperation or Plagiarism (in English).

3.11.2011: I have been asked about debugging in Haskell. Probably a good starting point for finding more info is

Course facts

Credits: 5hp or 7,5 hp

Course code: EDAF40 or EDAN40

Study period: VT2 2019

Schedule: EDAF40 and EDAN40 

Course responsible: Jacek Malec

Course assistants: Noric Couderc,
Sven Gestegård Robertz,
Adrian Roth

Student representatives:

Formal course description from KA: EDAF40 in Swedish, EDAF40 in English, EDAN40 in Swedish, EDAN40 in English.

This one is taken from