Paper accepted at ICFP
Our paper on automatic refunctionalization for a language with copattern matching has been accepted for presentation at the International Conference on Functional Programming.
The paper by Tillmann Rendel
AlumniTillmann Rendel, Julia Trieflinger
AlumniJulia Trieflinger and
Klaus Ostermann
HeadKlaus Ostermann describes the first steps of our efforts
to define a simple but expressive language with symmetric support
for programming with data types and programming with codata
types. Here is the abstract of our submission:
Reynold’s defunctionalization and Danvy’s refunctionalization establish a correspondence between programming with first-class functions and programming with pattern matching, but the correspondence is not symmetric: Not all uses of pattern matching can be automatically refunctionalized to uses of higher-order functions. This asymmetry makes it hard to compare the two styles of programming or convert automatically between them. We generalize from first-class functions to arbitrary codata. This leads us to a pair of languages, one with codata support based on Abel’s copattern matching and one with data support based on pattern matching. They support full defunctionalization and refunctionalization.