我正在学习Scheme课程,想尝试不使用define来编写递归函数。显然的问题是如果函数没有名称,你无法在函数内部调用它本身。 我找到了这个例子:使用lambda编写的阶乘生成器。((lambda (x) (x x)) (lambda (fact-gen) (lambda (n) ...
我正在尝试解决最大子序列和问题,并想出了一个聪明的解决方案。 msss :: (Ord a, Num a) => [a] -> a msss = f 0 0 f gmax _ [] = gmax f gmax lmax (x:xs) = let g = max (lmax...
我一直在研究禁止使用前定义和不具有可变单元(无set!或setq)的语言如何提供递归。当然,我遇到了(著名?臭名昭著?)Y组合器及其相关内容,例如: http://www.ece.uc.edu/~franco/C511/html/Scheme/ycomb.html http://okmij...