aboutsummaryrefslogtreecommitdiff
path: root/src/schedule.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/schedule.c')
-rw-r--r--src/schedule.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/schedule.c b/src/schedule.c
index 407c6e0..458d8a2 100644
--- a/src/schedule.c
+++ b/src/schedule.c
@@ -69,7 +69,7 @@ void schedule_add(struct term *term)
void schedule_remove(struct term *term)
{
- if (!term_is_beta_redex(term))
+ if (!pqueue_size(queue) || !term_is_beta_redex(term))
return;
int error = pqueue_remove(queue, term);
@@ -78,9 +78,9 @@ void schedule_remove(struct term *term)
void schedule(void)
{
- while (pqueue_size(queue) > 1) {
- fprintf(stderr, "queue size: %zu\n", pqueue_size(queue));
- map_dump(map_all_terms());
+ while (pqueue_size(queue)) {
+ debug("queue size: %zu\n", pqueue_size(queue));
+ map_dump(map_all_terms(), 1);
// TODO: check finished programs
size_t position = choose_position();