Non-Cartesian Guarded Recursion with Daggers
이 뉴스, 어떠셨어요?
한 번의 탭으로 반응을 남겨요 · 로그인 불필요
Abstract
Guarded recursion is a framework allowing for a formalisation of streams in classical (as opposed to concurrent, probabilistic, quantum) programming languages.
The latter take their semantics in cartesian closed categories.
However, some programming paradigms do not take their semantics in a cartesian setting; this is the case for concurrency, reversible and quantum programming for example.
In this paper, we focus on reversible programming through its categorical model in dagger categories, which are categories that contain an involutive operator on morphisms.
We show how to introduce the framework of guarded recursion into dagger categories with sufficient structure for data types, also called dagger rig categories.
First, given an arbitrary category, we build another category shown to be suitable for guarded recursion in multiple ways, via enrichment and fixed point theorems.
We then study the interaction between this construction and the structure of dagger rig categories, aiming for reversible programming.
Finally, we show that our construction is suitable as a model of higher-order reversible programming languages, such as symmetric pattern matching, to which we add guarded recursion features.