Functional programming 无法使Y combinator的实现工作
代码如下: 当我运行它时:Functional programming 无法使Y combinator的实现工作,functional-programming,scheme,racket,combinators,y-combinator,Functional Programming,Scheme,Racket,Combinators,Y Combinator,代码如下: 当我运行它时: > (poorY '(9 7 8)) . . application: not a procedure; expected a procedure that can be applied to arguments given: '(#<procedure>) arguments...: '(#<procedure>) 屏幕截图如下所示: 我用DrRacket作为repl。 代码怎么了?长度周围应该有括号: 您也可以尝试输
> (poorY '(9 7 8))
. . application: not a procedure;
expected a procedure that can be applied to arguments
given: '(#<procedure>)
arguments...:
'(#<procedure>)
屏幕截图如下所示:
我用DrRacket作为repl。
代码怎么了?长度周围应该有括号: 您也可以尝试输入相同的长lambda表达式,而不是两次
(define poorY
((lambda (f) (f f))
(lambda (length)
(lambda (ls)
(cond
[(null? ls) 0]
[else (add1 ((length length) (cdr ls)))])))))
另请参见。长度周围应有括号: 您也可以尝试输入相同的长lambda表达式,而不是两次
(define poorY
((lambda (f) (f f))
(lambda (length)
(lambda (ls)
(cond
[(null? ls) 0]
[else (add1 ((length length) (cdr ls)))])))))
另见
(define poorY
((lambda (f) (f f))
(lambda (length)
(lambda (ls)
(cond
[(null? ls) 0]
[else (add1 ((length length) (cdr ls)))])))))