Preprint
Extensible Recursive Functions, Algebraically
ArXiv.org
Cornell University
10/15/2024
DOI: 10.48550/arxiv.2410.11742
Abstract
We explore recursive programming with extensible data types. Row types make the structure of data types first class, and can express a variety of type system features from subtyping to modular combination of case branches. Our goal is the modular combination of recursive types and of recursive functions over them. The most significant challenge is in recursive function calls, which may need to account for new cases in a combined type. We introduce bounded algebras, Mendler-style descriptions of recursive functions in which recursive calls can happen at larger types, and show that they provide expressive recursion over extensible data types. We formalize our approach in Rωμ, a small extension of an existing row type theory with support for recursive terms and types, and mechanize the metatheory of Rωμ via an embedding in Agda.
Details
- Title: Subtitle
- Extensible Recursive Functions, Algebraically
- Creators
- Alex Hubers - University of IowaApoorv Ingle - University of IowaAndrew Marmaduke - University of IowaJ. Garrett Morris - University of Iowa
- Resource Type
- Preprint
- Publication Details
- ArXiv.org
- DOI
- 10.48550/arxiv.2410.11742
- ISSN
- 2331-8422
- Publisher
- Cornell University; Ithaca, New York
- Language
- English
- Date posted
- 10/15/2024
- Academic Unit
- Computer Science
- Record Identifier
- 9984736738002771
Metrics
13 Record Views