From f1672cc695f05f79a8c179fd6a80048976e100eb Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 3 May 2019 10:32:16 +0100 Subject: [PATCH] Note on semantic difference --- imperative/broker/tf.rkt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/imperative/broker/tf.rkt b/imperative/broker/tf.rkt index fd5ce1c..bf17da7 100644 --- a/imperative/broker/tf.rkt +++ b/imperative/broker/tf.rkt @@ -75,6 +75,14 @@ ;; interests generated by the way `during` is implemented, ;; only to general ones. ;; + ;; NB: There's a semantic difference here! In the + ;; commented-out version immediately below, we care about the + ;; start and stop events of the *facet*, so will get "absent" + ;; messages upon clean termination. In the other version, + ;; with separate asserted/retracted handlers, we will *not* + ;; get "absent" messages on clean termination, because the + ;; assertion is still there even as the actor terminates! + ;; ;; (during (from-broker node (present $who)) ;; (on-start (log-info "~a: ~a present" name who)) ;; (on-stop (log-info "~a: ~a absent" name who)))