学习资料
浏览视频
返回视频列表
Y Not:探索函数式编程与递归
学习资料
播放器下方提供英文笔记、测验、闪卡和 PPT 大纲。
PPT 资料为文字大纲,尚非完整演示文稿。
视频概览
Jim Weirich 在 RubyConf 2012 的演讲中,用 Ruby lambda 现场编程,逐步推导 Y 组合子,从基本原理建立对函数式编程与 lambda 演算的理解。
HN 讨论的原因
HN 多次将它推荐为出色且有趣的编程演讲,认为它能让人理解 Y 组合子,即使不使用 Ruby 也值得观看。
观看前准备
需要能读懂函数和简单递归。熟悉 Ruby 语法会有帮助;核心目标是理解接收函数并返回函数的高阶函数。
学习建议
每次 lambda 变换时暂停,用一个小输入手算过程。把原来的递归定义与变化后的代码放在一起,解释哪些行为始终保持一致。
最新优先
所在讨论: All elementary functions from a single binary operator
Reminds me a bit of the coolest talk I ever got to see in person: [VIDEO] It’s a derivation of the Y combinator from ruby lambdas
所在讨论: Baking the Y Combinator from Scratch
If anyone wants this in a humorous 1 hour format, watch the legendary Jim Weirich (rip) explain it here: [VIDEO] Don't be discouraged that it is in Ruby as the concepts are completely general. Great watch even though I never coded a line of Ruby.
所在讨论: Ask HN: What piece of code/codebase blew your mind when you saw it?
Well, .NET's garbage collector certainly springs to mind. Not exactly in a good way. You know you have something special on your hands when GitHub refuses to show you a highlighted version of a hand written C++ file ( [LINK] ). Other than that, I remember my mind was blown a few times while watching Jim Weirich's presentation on functional programming all those years ago ( [VIDEO] ).
所在讨论: An intriguing discovery of Computer Science: The Y combinator [video]
A good video that made it click for me is the following, which derives the ycombinator from 1st principles: [VIDEO]
所在讨论: All you need is λ, part one: booleans
On the same topic, Jim Weirich's 2012 talk "Y Not - Adventures in Functional Programming" on lambda calculus and the (little 'c') Y combinator is fantastic. [VIDEO]
已显示 5 / 20 条评论