(define list '((1 2) (3 4)))
(car list) ; -> '(1 2)
(car (cdr list)) ; -> '(3 4)
(cadr list) ; -> '(3 4)
(leaf 3) ; leaf-data
(node left_subtree right_subtree) ; node-data
(car node-data) ; -> 'node
(cadr node-data) ; -> left_subtree
(caddr node-data) ; -> right_subtree
(car leaf-data) ; -> 'leaf
(cadr leaf-data) ; -> 3
(define data '(node (leaf 1) (node (leaf 2) (leaf 3))))
(display (sum data))
(car data) ; -> ?
(defn make-binary-tree []
'())
(defn binary-tree-add-element [tree elem]
(defn insert-into [tree elem] ())
(if (= (binary-tree-get-elem)
'nil)
(insert-into tree elem)
tree))
Never actually do this in Clojure! Use multi-methods with deftype
instead.
-
- Download and Install
- Set the interpreter as
r5rs
, from bottom-left. (detailed instructions)