Initial Algebra Semantics Is Enough!
Initial Algebra Semantics Is Enough!
复制标题
初始代数语义就足够了!
DOI:
--
复制
发表时间:
2007
期刊:
影响因子:
--
通讯作者:
Neil Ghani
中科院分区:
文献类型:
--
作者:
Patricia Johann;Neil Ghani
Initial algebra semantics is a cornerstone of the theory of modern functional programming languages. For each inductive data type, it provides a fold combinator encapsulating structured recursion over data of that type, a Church encoding, a build combinator which constructs data of that type, and a fold/build rule which optimises modular programs by eliminating intermediate data of that type. It has long been thought that initial algebra semantics is not expressive enough to provide a similar foundation for programming with nested types. Specifically, the folds have been considered too weak to capture commonly occurring patterns of recursion, and no Church encodings, build combinators, or fold/build rules have been given for nested types. This paper overturns this conventional wisdom by solving all of these problems.