我理解what a Y Combinator is,但我不理解Wikipedia page中的“小说”组合子的这个例子:
Yk = (L L L L L L L L L L L L L L L L L L L L L L L L L L) Where: L = λabcdefghijklmnopqstuvwxyzr. (r (t h i s i s a f i x e d p o i n t c o m b i n a t o r))
这是如何运作的?
答案 0 :(得分:13)
定点组合子C
的本质是C f
缩减为f (C f)
。只要这样做,你对C
所采取的操作无关紧要。而不是
(\y f. f (y y f)) (\y f. f (y y f))
你也可以采取
(\y z f. f (y y y f)) (\y z f. f (y y y f)) (\y z f. f (y y y f))
基本上你需要一些形式
C t1 t2 ... tN
某些ti = C
和
i
C = \x1 x2 .. xN f. f (xi u1 u2 ... xi ... u(N-1) f)
其他条款tj
和uj
实际上并未“使用”。你可以看到Klop的L
有这种形式(尽管他使用的所有ti
都是L
这样,第二个xi
也可以是任何其他xj
{{1}} })。