分享 Jim Weirich 教你用 Lambda

willmouse · 2013年08月09日 · 最后由 cloudsben 回复于 2013年08月15日 · 3587 次阅读

http://confreaks.com/videos/1287-rubyconf2012-y-not-adventures-in-functional-programming

(wtf?)

Jim Weirich(@ jimweirich)是 Rake 的作者,也是少见的经常在演讲现场作 Live Coding 的一位风趣大叔(老爷爷?)。

这场演讲的内容主要是和 Y-Combinator 有关,Y-Combinator 是一种寻找 Fixed-Point 的一个算法,是函数式编程中经常出现的话题。

Fixed-point 定义就下面一个等式:

X = F(X)

像函数 F 输入一个值 X,其输出为 X,也就是说下面这样也是成立的

X = F(F(F(X)))

关于 Fixed-Point 大概就是这么个东西,不过这个视频的主要看点不在具体算法上,在这个演讲中 Jim 通过只使用 Lambda 的方式实现了阶乘,以及 Y-Combinator,展现了许多关于 Ruby 中 Lambda 的使用,最有意思的地方在我看来是其实现的过程。

视频内容大概如下:

  • Fixed-Point 的介绍
  • Emacs 的使用
  • 仅用 Lambda 实现阶乘
  • Y-Combinator

希望这个视频楼主能帮忙做下翻译,或者英文字幕也可以

在看 前面还能看的懂 后面完全被 lambda 搞死了。。。哎 数学天份不好啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号