The standard library mailqueue package implements unbounded-length thread-to-thread message queues.
The mailqueue package implements the Mailqueue API.
The mailqueue package source code is in src/lib/src/lib/thread-kit/src/core-thread-kit/mailqueue.pkg.
The above information is manually maintained and may contain errors.
api { Mailqueue X = ...; make_mailqueue : Microthread -> Mailqueue(X ); same_mailqueue : (Mailqueue(X ) , Mailqueue(X )) -> Bool; put_in_mailqueue : (Mailqueue(X ) , X) -> Void; take_from_mailqueue : Mailqueue(X ) -> X; take_from_mailqueue' : Mailqueue(X ) -> Mailop(X ); take_all_from_mailqueue : Mailqueue(X ) -> List(X ); take_all_from_mailqueue' : Mailqueue(X ) -> Mailop(List(X ) ); mailqueue_to_string : (Mailqueue(X ) , String) -> String; get_mailqueue_reader : Mailqueue(X ) -> Microthread; get_mailqueue_id : Mailqueue(X ) -> Int; get_mailqueue_length : Mailqueue(X ) -> Int; get_mailqueue_putcount : Mailqueue(X ) -> Int; drop_mailqueue_tap : (Mailqueue(X ) , Ref(Void )) -> Void; note_mailqueue_tap : (Mailqueue(X ) , (X -> Void)) -> Ref(Void ); reset_mailqueue : Mailqueue(X ) -> Void;};