Assistant professorDepartment of Distributed and Dependable Systems
Faculty of Mathematics and Physics
Malostranské náměstí 25
118 00 Praha 1
Phone: +420 000 00 0000
I’m interested in understanding the nature of programming and finding new and better ways of doing it. I use various methods ranging from theoretical programming langauge research, applied work resulting in open-source software, as well as interdisciplinary approaches that look at programming through the perspectives of history and philosophy. I believe that the most interesting developments in programming happen when a new way of thinking makes difficult problems disappear.
My current work is focused on programming systems. Programs are created not by just writing code, but by interacting with rich stateful programming systems or environments. Programming systems still include code, but they also encompass live or structure editors, runtime environment and other developer tools. I believe that we need to (i) find new fundamental ways of studying programming systems, (ii) revisit past programming systems that offered interesting ways of interaction, and (iii) apply those ideas to domains such as data science tooling or low-code and no-code programming.
In recent years, I also worked on functional programming and contributed to the development of the F# language and type providers at Microsoft Research. My PhD from University of Cambridge was on coeffects, a theory of context-aware programming languages. At University of Kent and The Alan Turing Institute, I spent most of my time working on programming tools for data science.
- The Lost Ways of Programming: Commodore 64 BASIC - BASIC as an interactive programming system
- Histogram: You have to know the past to understand the present - experimental data exploration tool
- The Gamma: Tools for open data-driven storytelling (and more demos) - data exploration for non-programmers
- Compost.js: Composable data visualization library - functional charting library for the web
- Coeffects: Context-aware programming languages - interactive explanation of my PhD research
- I have no fixed office hours, drop me an email if you want to meet!
- In winter 2022/23, I will be teaching Programming language design (NPRG075)
Education & experience
- Lecturer, University of Kent, UK, 2018-2022
- Visiting Researcher, The Alan Turing Institute, UK, 2016-2020
- Postdoc/contractor, Microsoft Research Cambridge, UK, 2014-2016
- PhD, Computer Laboratory, University of Cambridge, UK, 2016
- Mgr (MSc), Faculty of Mathematics and Physics, Charles University in Prague, 2010