diff --git a/minimart/core.rkt b/minimart/core.rkt index f81025a..31fac58 100644 --- a/minimart/core.rkt +++ b/minimart/core.rkt @@ -25,6 +25,7 @@ sub pub + gestalt-accepts? spawn send @@ -73,6 +74,10 @@ (define (sub p #:meta-level [ml 0] #:level [l 0]) (simple-gestalt #f p l ml)) (define (pub p #:meta-level [ml 0] #:level [l 0]) (simple-gestalt #t p l ml)) +(define (gestalt-accepts? g m) + (match-define (message b ml f?) m) + (not (set-empty? (gestalt-match-value g b ml f?)))) + (define (spawn behavior state [gestalt (gestalt-empty)]) (process gestalt behavior state)) (define (send body #:meta-level [ml 0]) (message body ml #f)) (define (feedback body #:meta-level [ml 0]) (message body ml #t))