Scheme 使用lambda和apply编写函数

Scheme 使用lambda和apply编写函数,scheme,Scheme,我试图编写一个函数,它接受一个实参,这个实参本质上是一个函数,并将返回该函数的相反值。我将通过使用lambda和apply来实现这一点。到目前为止,我已经知道了……它目前还不起作用,因为我似乎不知道如何定义一个接受任意数量参数的lambda函数。非常感谢任何额外的帮助 (define foobar (lambda (F) (lambda x(apply not (map x F))))) 示例输出: ((L3#t ((L3#f ((L3#t ((L3(L3#t ((L3(L3#f下面是否定函数

我试图编写一个函数,它接受一个实参,这个实参本质上是一个函数,并将返回该函数的相反值。我将通过使用lambda和apply来实现这一点。到目前为止,我已经知道了……它目前还不起作用,因为我似乎不知道如何定义一个接受任意数量参数的lambda函数。非常感谢任何额外的帮助

(define foobar (lambda (F) (lambda x(apply not (map x F)))))
示例输出:

((L3#t

((L3#f

((L3#t

((L3(L3#t


((L3(L3#f

下面是
否定
函数的一个简单实现:

;; negate : (Any * -> Boolean) -> (Any * -> Boolean)
(define (negate f)
  (lambda args
    (not (apply f args))))