懒惰程序的步进

摘要:惰性函数程序的调试面临着严峻的挑战。为了支持命令式编程语言的“停止、检查和恢复”调试方式,一些调试工具放弃了惰性求值。其他调试器保持了惰性,但以一种可能让程序员感到困惑的方式呈现,因为评估的焦点会以看似随机的方式跳来跳去。 本文介绍了一种辅助工具,即代数程序步进器。代数步进器将计算展现为数学计算。对于初学者或刚接触惰性编程的程序员来说,代数步进器可能特别有用。从数学上讲,代数步进器将计算呈现为惰性lambda演算的标准重写序列。我们的新颖惰性语义将惰性评估引入为一种并行程序重写形式。它代表了Launchbury基于存储的语义和一种简单的、公理化的惰性计算描述之间的折衷。最后,我们证明步进器的运行时机制能够正确重构标准的重写序列。

作者:Stephen Chang and John Clements and Eli Barzilay and Matthias Felleisen

论文ID:1108.4706

分类:Programming Languages

分类简称:cs.PL

提交时间:2011-08-25

PDF 下载: 英文版 中文版pdf翻译中