所以关于Lambda Calculus的维基百科条目很有趣,但我已经完成了。我希望深入一点,更好地理解 Lambda 演算。
任何人都可以推荐他们认为是 Lambda 微积分最好的书或入门书吗?
所以关于Lambda Calculus的维基百科条目很有趣,但我已经完成了。我希望深入一点,更好地理解 Lambda 演算。
任何人都可以推荐他们认为是 Lambda 微积分最好的书或入门书吗?
如果您已完成 Wikipedia 条目,请按照其链接访问计算机程序的在线结构和解释,完成作业或阅读本书。
好吧,总有Lambda 演算简介。我已经尝试阅读它几次,但总是卡住。我有一种挥之不去的感觉,我已经知道大部分这些东西,如果它是用 Lisp/Scheme 而不是数学来呈现的,可能会更容易理解它。不过,你可能会有更好的运气:)
我发现Chris Hankin 的“计算机科学家的 Lambda Calculi 简介”非常好,但我只将它用于一门课程 - 并没有在现实世界中使用它 :)
我认为关于 lambda 演算本身的参考仍然是Barendregt 的书。
除此之外,它几乎取决于您对 lambda 演算的哪个“部分”感兴趣:打字?证明理论?术语重写?函数式编程?
每一个本身就是一个领域,我不知道有什么书能涵盖这一切。
尝试编写一个 lambda 演算解释器,最好是使用语言的内置语法而不是通过解析器使用函数式语言。这是一种非常简单的方法,也是改善您对它的感觉的好方法。
我最近从 Amazon 买了一本 Greg Michaelson 的书,名为“An Introduction to Functional Programming Through Lambda Calculus”。它更多的是对函数式编程的介绍,还介绍了 lambda 演算。第一印象相当不错。一本独立且易于阅读的书。在这里,您可以下载 PostScript 中没有索引的免费版本。
真正让我开始使用和理解 lambda 演算的书是 Blackburn 和 Bos 的《自然语言的表示和推理》。这是一本关于使用 Prolog 进行自然语言处理的书。您可能会考虑的另一本书是艾伦的“自然语言理解”。最后,如果你喜欢 lambda 演算,你可能也会喜欢组合逻辑,因为组合子可以定义为 lambda 表达式。为此,我强烈推荐 Smullyan 的谜题书“To Mock A Mockingbird”。最后,他使用组合器构建了一种基本的编程语言。
这是一个很好的解释(使用方案):http ://www.cs.brown.edu/courses/cs173/2002/Lectures/2002-10-28-lc.pdf
这是一个漂亮的位(来自我的博客),将递归阶乘减少为纯 lambda:http: //blogs.msdn.com/b/ashleyf/archive/2008/12/03/the-lambda-calculus.aspx
玩得开心!