Transposing G to C♯: Expressivity of generalized algebraic data types in an object-oriented language.

Theor. Comput. Sci.(2018)

引用 0|浏览37
暂无评分
摘要
Abstract Generalized algebraic datatypes (GADTs) are a hot topic in the functional programming community. Previously we showed that object-oriented languages such as C ♯ and Java can express GADT declarations using Generics, but only some GADT programs. The addition of equational constraints on type parameters recovers expressivity. We now study this expressivity gap in more depth by extending an earlier translation from System F to C ♯ to handle GADTs. Our efforts reveal some surprising limitations of Generics and provide further justification for equational constraints.
更多
查看译文
关键词
Generalized algebraic data types,Generics,Polymorphism,System F,C#
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要