另一本魔法书~
2014-10-12
差不多把这本书看完了。总得来说挺有趣的一本书,前提是你得懂一些Scheme。不过Scheme也挺容易学会的。里面是各种小的解释器,基于书上的代码parser的部分基本可以不用担心(sllgen)。
习题里面都是给语言增加一些feature,大部分两星的习题花时间都能解决。
读完当然有收获,理解了continuation,在语言层面实现了一个简单的多线程支持,实现了各种type checker, 实现了module,实现了OO。 之前觉得里面的LET语言看起来是个玩具,我最近才发现这货的语法和OCaml太相似。
有了这些解释器的代码折腾,远比阅读理论书籍好玩。
如果需要参考,可以看看我的习题代码: https://github.com/chenyukang/eopl
相比SICP, SICP所涉及的面更广,而EOPL主要是关于编程语言的设计和实现。和SICP一样,这书要花时间去做后面的习题才更有收获。