#lang syndicate (struct echo-req (body) #:prefab) (struct echo-resp (body) #:prefab) (spawn (field [count 0]) (on (message (echo-req $body)) (send! (echo-resp body)) (count (+ (count) 1)))) (spawn (on (message (echo-resp $body)) (printf "Received: ~v\n" body))) (spawn* (until (asserted (observe (echo-req _)))) (until (asserted (observe (echo-resp _)))) (send! (echo-req 0)) (send! (echo-req 1)) (send! (echo-req 2)))