
实用程序员的 ML
ML for the working programmer
Lawrence C. Paulson · 初版 1991 年
17人推荐
28位读者提及
38次提及
为什么值得读
- 面向普通程序员,不预设读者具有高等数学背景
- 细致讲解SML模块类型系统的局限、历史与瑕疵
- 引导实现Lambda演算解释器与定理证明器项目
Hacker News 上怎么说
正在加载完整评论……

ML for the working programmer
Lawrence C. Paulson · 初版 1991 年
正在加载完整评论……
…语法上比 OCaml 好,但 OCaml 带来的优势太多了以至于很难忽视(更简单的编译模型、像命名参数这样的好特性、单一的开发目标、不错的社区)。另外,Paulson 的《ML for the Working Programmer》结合历史背景很好地解释了 SML 的各种硬伤。它非常详细地讲了 SML 模块类型安全性的一些局限,以及为了让 functor 通用化必须做的一些恶心操作……
…syntactically than OCaml, but OCaml brings so much to the table that it's hard to ignore (a simpler compilation model, niceties like named arguments, single development target, good community). Also Paulson's ML For the Working Programmer explains SML's warts well, in a historical context. It goes into great detail of some of the limitations of SML's module type safety and some of the nasty things you need to do to make functors generic…
看到这里的“ML”指的是机器学习(machine learning)而不是那门编程语言,我略感失落。我到现在还会时不时翻翻我那本老旧的 L. C. Paulson 写的《ML for the Working Programmer》平装本。
Slightly crestfallen that the “ML” here is machine learning and not the programming language. I still refer to my vintage paperback of L. C. Paulson’s ML for the Working Programmer from time to time.
和我很喜欢的《Concrete Semantics》类似的一本书是《Formal Reasoning about Programs》,出自原贴链接的同一个团队:http://adam.chlipala.net/frap/frap_book.pdf。《ML for the Working Programmer》是由 Isabelle 核心主导者之一 Paulson 写的,最后以一个证明器项目收尾:https://www.cl.cam.ac.uk/~lp15/MLbook/。Paulson 在剑桥教一门本科生课程,现在已经……
A similar book to Concrete Semantics, which I love, is Formal Reasoning about Programs by the same group the OP link comes from: http://adam.chlipala.net/frap/frap_book.pdf ML for the Working Programmer is written by Paulson, one of the main persons behind Isabelle, and ends up with a prover project: https://www.cl.cam.ac.uk/~lp15/MLbook/ Paulson teaches an undergrad course in Cambridge which is now…
…把你当成精通微积分的 13 岁神童(SICP),要么就是像对待勉强懂点初等代数的 11 岁小孩一样跟你说话(HtDP)。就个人而言,我更喜欢 Paulson 的《ML for the Working Programmer》,它假设你是一个可能没有数学学位的成年人。可惜的是,它不像另外两本那样可以免费获取。如果你决定选 SICP,我建议要么用……
…13-year-old with a good grasp of the infinitesimal calculus (SICP) or one that addresses you like an 11-year-old that barely understands elementary algebra (HtDP). Personally, I rather like Paulson's «ML for the Working Programmer», which assumes you're an adult who probably doesn't hold a degree in mathematics. Unfortunately, it's not freely available like the other two. If you decide to go with SICP, I recommend using either…
Larry C. Paulson 的《ML for the working programmer》会让你在往后很多年里都在琢磨思考。它是面向那些已经懂某门编程语言、但没接触过函数式语言(FP-lang)的人写的。虽然它讲的是 Standard ML,但你会发现 FP 的思想其实容易……
Larry C. Paulson - "ML for the working programmer" will have you thinking for years to come. It is meant for people who do know a programming language, but none of those an FP-lang. It covers Standard ML, but you will find that the ideas of FP are easy…
…但在需要的时候查一下。此外,去读讲编译器构建的龙书(第一版就够了)。最后,学着用 Standard ML 写程序,比如通过 Larry Paulson 的书(《ML for the working programmer》)。基础理论有这些就够了。如果你把上面这些都掌握了,那就能走得很远了。剩下的,就靠你的头脑、逻辑和对优雅的感知了。
…but consult it when you need it. Furthermore, read the Dragon book (first one is enough) on compiler construction. Finally, learn to program in Standard ML, for example via the book by Larry Paulson (ML for the working programmer). That should be enough for the basic theory. If you got the above stuff under your belt, then this will take you pretty far. For the rest, rely on your mind and logic and feeling for elegance.