Automatic Refunctionalization To A Language With Copattern Matching With Applications To The Expression Problem

Tillmann Rendel, Julia Trieflinger,Klaus Ostermann

ICFP'15: 20th ACM SIGPLAN International Conference on Functional Programming Vancouver BC Canada August, 2015(2015)

引用 6|浏览60
暂无评分
摘要
Defunctionalization and refunctionalization establish a correspondence between first-class functions and pattern matching, but the correspondence is not symmetric: Not all uses of pattern matching can be automatically refunctionalized to uses of higher-order functions. To remedy this asymmetry, we generalize from first-class functions to arbitrary codata. This leads us to full defunctionalization and refunctionalization between a codata language based on copattern matching and a data language based on pattern matching.We observe how programs can be written as matrices so that they are modularly extensible in one dimension but not the other. In this representation, defunctionalization and refunctionalization correspond to matrix transposition which effectively changes the dimension of extensibility a program supports. This suggests applications to the expression problem.
更多
查看译文
关键词
Defunctionalization,Refunctionalization,Codata,Copattern Matching,Uroboro,Expression Problem
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要