主要观点:Richard Feynman 曾说“教得越多,学得越好”,作者读完《The Little Schemer》后尝试解释 YCombinator,介绍了其在无递归特性语言中实现递归的作用、Scheme 基础知识(包括三种主要数据类型、匿名函数定义等)、YCombinator 的推导过程(从 Fibonacci 函数开始,通过不断替换和抽象,最终得到 YCombinator)。
关键信息:YCombinator 是在无递归特性语言中实现递归的方法;Scheme 有 S-expressions、lists 和 atoms 三种数据类型;可通过 lambda 关键字定义匿名函数;使用 cond 语句控制流程;推导过程中通过不断优化代码来接近真正的递归等。
重要细节:书中难以找到关于 YCombinator 的信息;C 和 Java 通常不具备一阶函数特性,而 Lisp 和 Haskell 有;推导过程中多次对代码进行修改和抽象,如用 base fib 函数避免重复代码等;最终得到的 YCombinator 是一个完全匿名的函数且能定义递归等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。