Computer Science

Faculty of Engineering, LTH

Denna sida på svenska This page in English

Functional Programming

Course News VT19:

29.09.2019 The results of the reexam (21.08.2019) are finally ready. I am sorry once again for the delay with checking it.

11.09.2019 The results of the reexam (21.08.2019) should be available today, 15 working days after the exam. However, out of those 15 days I have spent ten on involuntary leave in family matters, and 4 on planned business trip. I am sorry for the delay. I expect the exams to be checked until the middle of next week, i.e., by 18th on September.

15.8.2019 The June 2019 exam (and solution suggestions) have been posted on the examination page.

31.5.2019 There is an error in the answer to question 5b in 2018 EDAN40 exam (Ord [a]). Sorry for that. The resulting order is not lexicographic. Sorry.

20.5.2019 Today's lecture on reactive programming is CANCELLED!

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

28.3.2019 On the following page you may sign up for programming assignment groups (if you need a partner for the programming assignments) and book place in the lab (for EDAF40 students) for one of the three available lab occasions (Monday, Tuesday or Wednesday).

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.

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,
Alexandru Dura,
Sven Gestegård Robertz,
Adrian Roth

Student representatives:
Oskar Damkjaer, dic15oda,
Oscar Sigurdsson, dat14osi,
Albin Sverreson, al5826sv-s

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

This one is taken from