Duality in Programming Languages (Seminar)
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:
- Evaluation Strategies: Strict vs. lazy evaluation
- Data and Codata Types: The duality between data structures and object-like abstractions
- Values and Continuations: The dualities of control flow, expression evaluation, and continuation-passing style
- Induction and Coinduction: Reasoning over finite structures vs. infinite behavior
- Linear Logic and Resource Control: The relation between logical duals and resource consumption vs. production
- Session Types and Process Calculi: The duality of interaction in concurrent protocols
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.
Instructors
- Filip Šimić (Office: Room B211)
Klaus Ostermann
ProfessorKlaus Ostermann
Registration
If you want to participate, please send an e-mail with the following data to filip.simic@uni-tuebingen.de:
- 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. Please register until Tuesday, 13.10.26.
Structure
We will meet weekly on Wednesday, 14-16 in room A302 at Sand 14. Every week one participant will give a (roughly) 35-min presentation on one of the topics of this seminar with an ensuing class discussion of about 10 min led by the speaker.
At the end of the semester, each participant will write a term paper on the topic presented. For the paper, please use the following template:
https://www.acm.org/publications/proceedings-template
We recommend using LaTeX with \documentclass[acmsmall,screen,review]{acmart}.
To get rid of the copyright block on the first page, you can set \setcopyright{none} in the preamble (i.e., before \begin{document})
You can also remove the ACM Reference Format block by setting \settopmatter{printacmref=false} in the preamble.
If you want to get rid of the author address at the bottom, set \authorsaddresses{} after \begin{document}.
First Meeting
The first meeting will take place on Wednesday, 14.10.26, 14 c.t. in room A302 at Sand 14.