diff --git a/conversation.rkt b/conversation.rkt index 2c06f8e..ff6f76d 100644 --- a/conversation.rkt +++ b/conversation.rkt @@ -3,6 +3,7 @@ (require racket/bool) (require racket/match) (require racket/class) +(require racket/list) (require "functional-queue.rkt") (require "blocking-box.rkt") @@ -223,8 +224,9 @@ (broadcast (remove-binding state b) b (departed (binding-name b) why)))) (define (membership-summary state) - (map (lambda (member) (arrived (binding-name member))) - (room-state-members state))) + (filter-map (lambda (member) (and (not (binding-invisible? member)) + (arrived (binding-name member)))) + (room-state-members state))) (define (add-binding state b) (struct-copy room-state state