
致谢
如果没有曾在我们的课堂上学习的大量麻省理工学院学生的帮助,这本书是不可能完成的。他们对书中问题进行了实际操作,并经常告诉我们所做的错误选择以及做错的事情。我们特别感谢那些多年来担任助教的学生。Michael Blair、Alexey Radul、Pavel Panchekha、Robert L. McIn tyre、Lars E. Johnson、Eli Davis、Micah Brodsky、Manushaqe Muco、Kenny Chen、Leilani Hendrina Gilpin都给予了我们特别的帮助。
这里提出的许多想法是在朋友和以前学生的帮助下构建起来的。Richard Stallman、Jon Doyle、David McAllester、Ramin Zabih、Johan deKleer、Ken Forbus和Jeff Siskind都对我们理解依赖定向回溯提供了帮助。而我们在第7章中对传播的理解,是与Richard Stallman、Guy L. Steele Jr.和Alexey Radul共事多年的结果。
我们特别感谢函数式编程社区,尤其是Scheme团队的帮助和支持。早在20世纪70年代,Guy L.Steele Jr.就与Gerald Jay Sussman共同开发了Scheme语言,而Steele几乎每年都会作为客座教授为本课程授课。Arthur Gleckler、Guillermo Juan Rozas、Joe Marshall、James S.Miller和Henry Manyan Wu在MIT/GNU Scheme的开发中起到了推动作用。Taylor Camp bell和Matt Birkholz对这个古老的系统做出了重大贡献。我们还要感谢Will Byrd和Michael Ballantyne,感谢他们在理解段变量的合一方面所给予的帮助。
Hal Abelson、Julie Sussman与Gerald Jay Sussman是《计算机程序的构造和解释》的共同作者,他们帮助我们形成了本书的想法。在许多方面,本书可视为《计算机程序的构造和解释》的高级续篇。Dan Friedman和他许多优秀的学生和朋友,对我们理解编程影响极大。我们与一些伟大的计算机高手进行了许多关于编程艺术的对话,如William Kahan、Richard Stallman、Richard Greenblatt、Bill Gosper和Tom Knight。与Jack Wisdom在数学动力学方面的多年合作,帮助我们进一步理解了在本书中提出的许多问题。
Sussman要特别感谢他的多位老师,与Marvin Minsky、Seymour Papert、Jerome Lettvin、Joel Moses、Paul Penfield和Edward Fredkin讨论的观点在本书中表现得很突出。Carl Hewitt、David Waltz和Patrick Winston是与Minsky和Papert同级的学生,他们的想法也在本书中得到了体现。Jeff Siskind和Alexey Radul指出并帮助解决了一些非常微妙的错误。
Chris从在谷歌和Datera的工作中学到了很多关于大规模编程的知识,这些经验影响了本书的部分内容。Arthur Gleckler在每两周一次的午餐会上为本书提供了有用的反馈意见。在谷歌时,Mike Salisbury在我们的定期会议上总是很高兴听到最新的进展。Hongtao Huang和Piyush Janawadkar阅读了本书的早期草稿。特别感谢Rick Dukes,作为麻省理工学院的同学,是他向Chris介绍了关于lambda的论文,从而使他走上了编写本书的漫长道路。
感谢麻省理工学院电子工程和计算机科学系以及麻省理工学院计算机科学和人工智能实验室(CSAIL)的热情接待和后勤支持。感谢松下公司(即松下电器产业株式会社)通过讲席教授的方式对Gerald Jay Sussman的支持。Chris Hanson在这项工作中也得到了CSAIL和谷歌的支持。
PPA的Julie Sussman仔细阅读本书并提出了严肃的批评,迫使我们重新组织和改写了本书的主要部分。在这些年里,她同样鼓励和支持着Gerald Jay Sussman。
Elizabeth Vickers作为多年的伴侣,为Chris以及他们的孩子Alan和Erica提供了全方位的支持和稳定的环境。在缅因州长期工作期间,Elizabeth还为两位作者烹饪了许多可口的饭菜。Alan是早期草稿的读者,虽然读得断断续续,但满怀热情。
Chris Hanson和Gerald Jay Sussman