Abstracting Extensible Recursive Functions
Alex Hubers, Apoorv Ingle, Andrew Marmaduke, J. Garrett Morris

TL;DR
This paper introduces a formal framework for recursive functions over extensible data types using row types, enabling modular and expressive recursive programming.
Contribution
It presents extensible histomorphisms and formalizes them in Rωμ, facilitating recursive functions over extensible data types with modularity.
Findings
Formalization of extensible histomorphisms
Development of Rωμ type theory
Expressive recursion over extensible data types
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 including record subtyping and 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 extensible histomorphisms, 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 row type theory with support for recursive terms and types.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputability, Logic, AI Algorithms
