17号的评论
-
评Essentials of Programming Languages, 3rd Edition
买的英文原版,PL的入门书籍。每一章涉及一个话题,添加一些语言特性,讲清楚语义后编程实现。2016年夏天我去拜访了Dan Friedman,在他家中谈及我正在用Erlang把EOPL的所有内容实现一遍的时候,他很赞赏这种做法。我研究的过程是,把模型看懂想清楚,手写parser,用Erlang把技术细节实现,并记录自己的思考过程。整个过程受益匪浅。推荐有兴趣的也可以这么做,推荐使用Ocaml等静态类型语言编写可能更好。编程类书籍不做习题,不思考解决习题就等于看小说是买椟还珠。现在看起来SICP太简单且啰嗦了,EOPL的话限制于篇幅,还缺少了一些话题,不过作为入门书籍是相当好的了。
-
评The Little MLer
Dan Friedman的基本小人书都很不错。在EOPL里,Friedman给Racket加了一个pattern match的语法用来说明对数据和类型的抽象。这本小人书,选用了天然有这套东西的ML语言,列举了大量的例子,对希望了解ML的人算蛮不错的。对于已经了解函数式编程的,应该是很简单的。P.S ML的pattern match和erlang的pattern match的语义不完全相等。