Handbook
Glossary
Mailboxes
A
mailbox
is a first-in-first-out queue where the operation of removing an element blocks if the queue is empty. Mailboxes are implemented in the
concurrency
.
mailboxes
vocabulary.
mailbox
<mailbox>
( -- mailbox )
Removing the first element:
mailbox-get
( mailbox -- obj )
mailbox-get-timeout
( mailbox timeout -- obj )
Removing the first element matching a predicate:
mailbox-get?
( mailbox pred -- obj )
mailbox-get-timeout?
( mailbox timeout pred -- obj )
Emptying out a mailbox:
mailbox-get-all
( mailbox -- seq )
mailbox-get-all-timeout
( mailbox timeout -- seq )
Adding an element:
mailbox-put
( obj mailbox -- )
Testing if a mailbox is empty:
mailbox-empty?
( mailbox -- bool )
while-mailbox-empty
( mailbox quot -- )