Programming Languages

Duality in Programming Languages

This seminar introduces the important concept of duality in the theoretical foundations of programming languages. Some of the dualities that will be covered in the seminar are:

  • The duality of data and codata types
  • Finite and infinite data, induction and coinduction
  • Strict and lazy evaluation
  • Effects and coeffects
  • Monads and Comonads
  • The duality of values and continuations

The goal of the seminar is to convey a sense of the beauty of the symmetries and dualities in the foundational calculi for programming languages.

The course language will be German or English, depending on the participants.



If you want to participate, please send an e-mail with the following data to

  • Matrikelnummer
  • name
  • Studiengang + Abschluss
  • Fachsemester
  • your student e-mail address

The number of participants is restricted to 10. Places are assigned on a first-come, first-served basis.



First Meeting

The first meeting will take place on Thursday, 18.04.24, 14 c.t. in room C111 at the Sand.


Meetings will take place every Thursday 14-16 in room C111.