回头重新翻看这本书,严重怀疑作者是中了Haskell的毒,里面一坨坨的c++代码,翻译成Haskell都是几句话的事情。分析问题的思路都是Haskell的路子。我更愿意相信这其实是英雄所见略同,说明这种思维方式很可能就是正确的思维方式。哇咔咔,static typing rocks!回头再发c++和haskell对应的例子代码。
没见过世面
这跟static typing没多少关系。换个在spec里允许phase不硬编码,不需要严格区分static和dynamic typing的语言(比如某些Lisp方言)理论上照样可以实现这样的效果,只是大概因为:1.要约束type check在什么时候符合预期比较困难;2.现在的static typing rules写死了问题暂且可以接受(不是什么语言都有潜力像C++那么抽风,虽然Haskell可以算);3.有能耐对语言spec做手脚的也就那么点;所以吸引不到足够多的用户去做这出系统化的东西而已。 另外,Haskell相对于背后的理论(不限于范畴论),本身偷工减料也不少,也未必能自然到会吸引人中毒(monad和functor的什么鬼出名,多半还是因为写教程的太多了的缘故),要说数学的残渣还差不多。
全部转移到读书笔记了 http://book.douban.com/people/huangyi/annotation/4722718/
搬椅子等例子代码...