~ chicken-core (chicken-5) /tests/breadth-first.scm
Trap1;;;; breadth-first.scm234(include "QUEUE")567(functor (breadth-first (Q QUEUE)) (search)8 (import scheme (chicken base) Q)910 (define (enqlist q xs)11 (foldl (lambda (q x) (enqueue q x)) q xs))1213 (define (search next x)14 (define (bfs q)15 (if (empty? q)16 '()17 (let ((y (head q)))18 (cons y (lambda () (bfs (enqlist (dequeue q) (next y))))))))19 (bfs (enqueue empty-queue x))) )