FUNCTIONAL LANGUAGES

Second cycle degree in COMPUTER SCIENCE

Campus: PADOVA

Language: English

Teaching period: First Semester

Lecturer: GILBERTO FILE'

Number of ECTS credits allocated: 6


Syllabus
Prerequisites: Imperative and object oriented programming
Examination methods: The exam has a written and an oral part. Each part counts for 50% of the grade. The written part is on the general concepts taught in the course, whereas the oral part is a discussion on homeworks assigned during the course.
Course unit contents: Two functional languages are taught: ML and especially Haskell.
Pattern matching;
Curryfied and higher-order functions;
Type inference: what it is and how it is done;
Polymorphism;
Lazy evaluation;
Functors, applied functors and monads;
Exceptions and I/O;
Run-time support.