Scheme或者方言的任何方言都有一种"自我"操作符,这样匿名的lambdas就可以重复自己,而不需要像Y-combinator那样做或者在letrec等中命名.
就像是:
(lambda (n) (cond ((= n 0) 1) (else (* n (self (- n 1)))))))
scheme racket
racket ×1
scheme ×1