2012-01-15 8 views
2

次のOCaml型(不均衡なバイナリツリー)をCommon Lispに変換したいのですが、CL初心者の方は、動的言語を使用してそれを行う方法はわかりません。CLを使って木を表現する方法は?

type 'a tree = 
    Leaf 
    | Node of 'a * 'a tree * 'a tree 

ご了承ください。

答えて

2

ベースコモンLispには、区別されたユニオンタイプの定義がありません。

(defclass tree() (data left right)) 

がDEFCLASSを使用しての詳細については、http://www.gigamonkeys.com/book/object-reorientation-classes.htmlを参照してください:

私はCLOSを使用して、合理的な成功を発見しました。

より効率的なアプローチは、DEFCLASSではなくDEFSTRUCTを使用することです。

関連する問題