UniCaToR

Starting from the 1st of September, 2026 I am working on my CTU Starting grant UniCaToR, which stands for A Unification of Categorical Theories of Resources.

I am hiring a postdoc and a PhD student:

A brief description of this project:

The aim of this project is to develop a mathematical theory suitable for reasoning about programming language resources. This will serve as a basis for a mathematically rigorous type system which, in turn, will allow a compiler implementing this type theory to check specified resource usage guarantees. Similar theories of such kind have existed in the past (e.g. the theory of coeffects) and, also, the industry has shown us that programming languages with resource usage guarantees are on demand (e.g. Rust and its memory safety guarantees).

Our approach aims to extend the theory of comonads, which is a fundamental concept from the field of pure mathematics called category theory. Comonads offering similar resource control also exist outside of Rust (e.g., to ensure correct CPU usage or protecting sensitive data) but, despite their usefulness, their study remains scattered, with each resource type typically studied in isolation. Therefore, the principal goal of this project is to unify the study of computational resources by developing a theory of presentations of comonads. By ‘presentations’, we mean a mathematical language for specifying comonads. Currently, only ad-hoc methods exist for constructing new comonads, which drastically limits their flexibility. A common language will allow us to compare and combine different uses of comonads, derive their properties, and transfer techniques across theoretical computer science. Progress on the theoretical side will also enable practical advancements. It will pave the way for automated reasoning tools about program resources, new language constructs, and better correctness guarantees of resource usage. For example, it could enable an extension of a type system to provide running-time and memory access count guarantees. To stress-test our framework, we will implement a prototype programming language (in Haskell/OCaml/Lean/…) with custom resource constraints, checked at compile-time.

Project activity


Acknowledgement

The project is funded by the generous support of the Czech Technical University and the Faculty of Information Technology.