foldでハマった

多分初歩的な事ですが、foldでハマった。

Schemeのfoldで


(fold (lambda (f v) (f)) #f '((lambda () (* 1 2))))

のような事をやろうとしたら


*** ERROR: invalid application: ((lambda () (* 1 2)))

と出てハマった。いやいやinvalidじゃないでしょー、と思って試行錯誤を続けたら


(fold (lambda (f v) (f)) #f `(,(lambda () (* 1 2))))

とする事で、望み通りの動きが実現出来た。