Declarative Programming, (Co)Induction, and Monads

PhD Course at DIBRIS

Davide Ancona, DIBRIS (

Giovanni Lagorio, DIBRIS (

Eugenio Moggi, DIBRIS (

Elena Zucca, DIBRIS (

Where: DIBRIS (previously DISI) - Università degli Studi di Genova - via Dodecaneso, 35 - Room 710

Length: 20 hours (choosing either the second or the third module) or 30 hours

The course will take place on 25 June - 4 July 2012 (the first two modules in the first week (June 25-29) and the third one in the second week (July 2-4)). Because of the compressed format, the course may be of interest for PhD students of other universities. The (free) registration is mandatory and requires sending an email to instructors before June 1st, 2012.


The course is a self-contained introduction to functional programming, logic programming and the use of monads in functional programming.

We will cover both foundational (inference systems, induction and co-induction, lambda calculus, type system and semantics) and practice/implementation (languages Haskell and Prolog) aspects in dealing with finite and infinite objects.

More information can be found there.


Università degli Studi di Genova

Via Dodecaneso 35 - 16146 Genova

Tel. ++39 010 353 6704 - Fax. ++39 010 353 6699