Scheme-Source 表达式无法匹配任何模式

Scheme-Source expression failed to match any pattern

我正在用 Scheme 编写一个程序来操作一些列表和一些自定义类型。我写了下面的短代码,它给了我以下错误:

Source expression failed to match any pattern

为什么会出现这个错误?我认为这是因为我使用了 let* 但我仔细检查了语法并且我的用法是正确的。这是我的代码:

(define (create-evaluation-link wp)
  (define x (get-first-word wp))
  (define y (get-second-word wp))
  (if (null? (ListLink x y))
      ((EvaluationLink 
        (MSTLinkNode "MA")
        (ListLink x y)))
      (let* ((ll (ListLink x y))
             (in (cog-incoming-set ll))
             (mst (get-mst-node in))))))

我是不是做错了什么?

get-mst-node 是本例中的一个函数。

您的 let* 表单缺少 body(使用绑定的代码)。即使 body 只是 returns mst,像这样:

(let* ((ll (ListLink x y))
       (in (cog-incoming-set ll))
       (mst (get-mst-node in)))
  mst)