(import (scheme base))
(include "tmc-part4.scm")

;; message passing (broadcast)

(INIT 'data 0)
(INIT 'ctrl #f)

(define (sender)
  (WRITE 'data 1)
  (WRITE 'ctrl #t))

(define (receiver)
  (when (READ 'ctrl)
    (let ((v (READ 'data)))
      (ASSERT (= v 1) "unexpected message"))))

(SPAWN sender)
(SPAWN receiver)
(SPAWN receiver)
(SPAWN receiver)

(EXPLORE)

