diff --git a/syndicate/syntax.rkt b/syndicate/syntax.rkt index 257ce91..d328064 100644 --- a/syndicate/syntax.rkt +++ b/syndicate/syntax.rkt @@ -34,6 +34,7 @@ this-target at assert + once stop-on on during @@ -320,6 +321,9 @@ (->preserve expr) (void)))))))]))) +(define-syntax-rule (once [event expr ...] ...) + (react (stop-on event expr ...) ...)) + (define-syntax-rule (stop-on event expr ...) (on event (stop-current-facet expr ...)))