aboutsummaryrefslogtreecommitdiff
path: root/module/util/tree.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/util/tree.scm')
-rw-r--r--module/util/tree.scm20
1 files changed, 10 insertions, 10 deletions
diff --git a/module/util/tree.scm b/module/util/tree.scm
index 8d3e7805..474dc272 100644
--- a/module/util/tree.scm
+++ b/module/util/tree.scm
@@ -11,12 +11,12 @@
;; Has thee form @var{(node left-subtree right-subtree)}. A leaf has
;; both it's children equal to @var{null}.
(define (make-tree pred? lst)
- (if (null? lst) '()
- (let* ((head tail (partition (lambda (el) (pred? (car lst) el))
- (cdr lst))))
- (list (car lst)
- (make-tree pred? head)
- (make-tree pred? tail)))))
+ (unless (null? lst)
+ (let* ((head tail (partition (lambda (el) (pred? (car lst) el))
+ (cdr lst))))
+ (list (car lst)
+ (make-tree pred? head)
+ (make-tree pred? tail)))))
(define (left-subtree tree)
(list-ref tree 1))
@@ -34,7 +34,7 @@
(length-of-longst-branch (right-subtree tree)))))
(define (tree-map proc tree)
- (if (null? tree) '()
- (list (proc (car tree))
- (tree-map proc (left-subtree tree))
- (tree-map proc (right-subtree tree)))))
+ (unless (null? tree)
+ (list (proc (car tree))
+ (tree-map proc (left-subtree tree))
+ (tree-map proc (right-subtree tree)))))