Skip to content

Commit 8ca15ec

Browse files
authored
couple of cheap heap utilities (#40)
* couple of cheap heap utilities * export new symbols
1 parent 8548e8b commit 8ca15ec

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/cheap-heap.lisp

+13
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,16 @@
5555
(q-peek (cdaddr heap)))
5656
(t
5757
nil)))
58+
59+
(defun cheap-heap-empty? (heap)
60+
(equalp heap (make-cheap-heap)))
61+
62+
(defun cheap-heap->list (heap)
63+
(labels ((aux (heap &optional (list nil))
64+
(let ((next (cheap-heap-dequeue heap)))
65+
(cond
66+
((null next)
67+
(reverse list))
68+
(t
69+
(aux heap (list* next list)))))))
70+
(aux heap)))

src/package.lisp

+2
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
#:cheap-heap-enqueue ; FUNCTION
4040
#:cheap-heap-dequeue ; FUNCTION
4141
#:cheap-heap-peep ; FUNCTION
42+
#:cheap-heap-empty? ; FUNCTION (PREDICATE)
43+
#:cheap-heap->list ; FUNCTION
4244
)
4345

4446
;; logger.lisp

0 commit comments

Comments
 (0)