deftype - 变量未绑定

时间:2015-11-15 21:45:04

标签: lisp common-lisp

我正试图在C. Shapiro的Common Lisp: An interactive approach之后学习Common Lisp。我尝试从第18章定义bstree类型。 我的代码如下

(defun elementp (e)
  (or (characterp e) (numberp e) (packagep e)))
(deftype element ()
  '(satisfies elementp))
(defun bstreep (tree)
  (or (typep tree element)
      (and (listp tree)
           (= (length tree) 3)
           (typep (first tree) element))))

当我将它送入粘液时,会出现错误Undefined variable:ELEMENT。有什么问题,如何定义bstreep函数?

1 个答案:

答案 0 :(得分:4)

您是否尝试在所有typep次使用中以这种方式使用引用的表单?:

(typep tree 'element)