纯函数数据结构的轻量级半形式时间复杂度分析

纯函数数据结构的轻量级半形式时间复杂度分析
尼尔斯·安德斯·丹尼尔森
第35届ACM SIGPLAN-SIGACT会议记录程序设计语言原理专题讨论会(2008年POPL).©ACM,2008年。这是作者对工作。经ACM许可发布于此个人使用。不适用于再分配。决定性的版本于2008年POPL发布,http://doi.acm.org/10.1145/1328438.1328457.伴随着技术报告.[pdf格式,随附代码]

摘要

Okasaki和其他人已经证明了纯功能数据即使在存在持久性的情况下也是有效的结构可以建造。为了达到良好的时限,基本用途通常是由懒惰构成。相关的复杂性分析通常是微妙,需要仔细注意细节,因此形式化它很有价值。

本文描述了一个简单的库,它可以用于一类纯函数数据结构的分析算法几乎完全形式化。基本思想是使用类型系统用计算所需的时间注释每个函数它的结果。带注释的monad用于组合时间复杂性注释。

该库已用于分析一些现有的数据结构,例如Hinze和Paterson手指的deque手术树。

勘误表

在的键入规则中修理(在第10节中)术语固定t应该被替换为固定(λx.t).

尼尔斯·安德斯·丹尼尔森
上次更新时间:2013年5月13日星期一12:27:47 UTC。