My research involves the use of abstract mathematical methods in the study of programming languages, and the formal representation of syntax for applications in computer verification and metaprogramming. More broadly, I am interested in modelling and formalisation of different application domains in proof assistants and functional languages, and uncovering the mathematical foundations of programming features such as reactivity, partial evaluation, and reflection.
I am the Director of Studies for IB Computer Science students and have been supervising undergraduates for theory-related courses for years. My goal is to teach students how to think abstractly, and save time and effort by recognising the common features and patterns arising in disparate fields of mathematics and computer science.
Marcelo Fiore, Dmitrij Szamozvancev (2022).
Formal Metatheory of Second-Order Abstract Syntax.
In: Proceedings of the ACM on Programming Languages 6.POPL (2022): 1-29.
Christial Uldal Graulund, Dmitrij Szamozvancev, and Neel Krishnaswami (2021).
Adjoint Reactive GUI Programming.
In: Foundations of Software Science and Computation Structures. FOSSACS 2021. Lecture Notes in Computer Science, vol 12650. Springer, Cham.
Dmitrij Szamozvancev and Michael B. Gale (2017).
Well-typed music does not sound wrong (experience report).
In: Proceedings of the 10th ACM SIGPLAN International Symposium on Haskell. ACM, pp. 99–104.