Functional programming 简·威廉·克洛普是如何做到的;s";(L.)";Y组合器工作?
我理解,但我不理解这个“新奇”组合器的例子,来自: Yk=(L) 哪里: L=λabcdefghijklmnopqstuvxyzr。(r(h i s i s a f i x e d p o i n t c o m b i n a t r))Functional programming 简·威廉·克洛普是如何做到的;s";(L.)";Y组合器工作?,functional-programming,lisp,computer-science,Functional Programming,Lisp,Computer Science,我理解,但我不理解这个“新奇”组合器的例子,来自: Yk=(L) 哪里: L=λabcdefghijklmnopqstuvxyzr。(r(h i s i s a f i x e d p o i n t c o m b i n a t r)) 这是如何工作的?定点组合器C的本质是cf减少到f(cf)。你对C采取什么态度并不重要,只要这样做就行了。所以不是 (\y f. f (y y f)) (\y f. f (y y f)) 你也可以拿 (\y z f. f (y y y f)) (\y z f
这是如何工作的?定点组合器
C
的本质是cf
减少到f(cf)
。你对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
其中,对于某些i
和
C = \x1 x2 .. xN f. f (xi u1 u2 ... xi ... u(N-1) f)
其他术语tj
和uj
实际上没有“使用”。你可以看到Klop的L
有这种形式(尽管他使用了所有ti
都是L
的事实,这样第二个xi
也可以是任何其他xj
)
C = \x1 x2 .. xN f. f (xi u1 u2 ... xi ... u(N-1) f)