#lang syndicate/actor ;; Hello-worldish "bank account" example. (struct account (balance) #:prefab) (struct deposit (amount) #:prefab) (actor (react (field [balance 0]) (assert (account (balance))) (on (message (deposit $amount)) (balance (+ (balance) amount))))) (actor (react (on (asserted (account $balance)) (printf "Balance changed to ~a\n" balance)))) (actor (until (asserted (observe (deposit _)))) (send! (deposit +100)) (send! (deposit -30)))