(define pc1 (lambda () (let ((buf (make-buffer 10))) (producer buf (lambda (num) (= (random 20) 0)) (lambda () (display "Suspending producer") (newline)) (lambda (val) (random 100))) (consumer buf (lambda (num) (= (random 20) 0)) (lambda () (display "Suspending consumer") (newline)) (lambda (count val) (display (list 'consume count val)) (newline))))))