Common lisp 如何用CL表示树?
我想将下面的OCaml类型(一个不平衡的二叉树)转换为commonlisp,但作为CL新手,我不知道如何使用动态语言Common lisp 如何用CL表示树?,common-lisp,Common Lisp,我想将下面的OCaml类型(一个不平衡的二叉树)转换为commonlisp,但作为CL新手,我不知道如何使用动态语言 type 'a tree = Leaf | Node of 'a * 'a tree * 'a tree 任何建议都将不胜感激 标准cons是树节点,car是左边的子树,cdr是右边的 有关详细信息,请参阅。基本公共Lisp没有区分的联合类型定义 我发现使用CLOS取得了合理的成功: (defclass tree () (data left right)) 有
type 'a tree =
Leaf
| Node of 'a * 'a tree * 'a tree
任何建议都将不胜感激 标准cons是树节点,car是左边的子树,cdr是右边的
有关详细信息,请参阅。基本公共Lisp没有区分的联合类型定义 我发现使用CLOS取得了合理的成功:
(defclass tree () (data left right))
有关使用DEFCLASS的详细信息,请参见
更节省内存的方法是使用DEFSTRUCT而不是DEFCLASS