这本书独特的地方是全书使用了一问一答的形式。用形象生动的方式循序渐进的将Scheme语言(也涵盖其他Lisp方言)的基本特点和程序设计中的关键技术演示给读者。作为一本入门级的书,它更多的是从感性方面来引导读者,缺少理性上的教导。
本书的大部分篇章都在演示 “递归” 这一重要的程序设计概念,从在List上做各种操作,到对数值、集合等更加复杂的程序语言元素的处理, 以及最后对停机问题、匿名递归的介绍。从这点上个人觉得它甚至可以改名叫做<< The Little Recursion >>。
另外在Shadow一章,隐含的介绍了抽象的重要性,并通过例子演示了如何抽象。在Lambda the Ultimate一章,介绍了函数作为First Class Object时所拥有的几个特点,甚至略微提到了Curried function和Continuation这些非入门级的知识点。在第九章中,从递归的本质出发,介绍了通过Fix point combinator实现匿名递归的方法,并且提及了停机问题。这章中还给出了几个有意思的函数,如Ackermann函数、Collatz的3x+1问题等。第十章介绍了一个简单的Scheme解释器的实现。
最后 ,如果想要了解Scheme或者其他Lisp方言的语法,请阅读RNRS或者Cltl之类。如果想要了解更多的程序设计中的关键技术,建议继续阅读其后续书籍The seasoned schemer或者SICP甚至其他更加深入的书籍。