Scheme 过程异常关于:不正确的参数数量

Scheme procedure exception about: incorrect number of arguments

我是新来的阴谋家。也许这个问题很简单。但这真的很困扰我。

我定义了一个过程

(define insertL
    (lambda (new old lat)
      (cond
        ((null? lat) '())
        ((eq? old (car lat)) (cons new lat))
        (else (cons (car lat) (insertL (cdr lat)))))))

那我就叫它

> (insertL 2 3 '(1 2 3))

出现异常

Exception: incorrect number of arguments to #<procedure insertL>

为什么?

insertL需要多少参数?您在调用它的两个地方都使用正确数量的参数调用它吗?