Version: 5.1.1
1 Imperative Queues
| (require data/queue) | 
This module provides a simple mutable queue representation, first-in/first-out only. Operations on queues mutate it in a thread-unsafe way.
| (make-queue) → queue/c | 
Produces an empty queue.
Adds an element to the back of a queue.
| (dequeue! q) → any/c | 
| q : nonempty-queue/c | 
Removes an element from the front of a nonempty queue, and returns that
element.
Examples:  | ||||||||||||
  | 
| (queue->list queue) → (listof any/c) | 
| queue : queue/c | 
Returns an immutable list containing the elements of the queue
in the order the elements were added.
Examples:  | ||||||||
  | 
| (queue-length queue) → integer? | 
| queue : queue/c | 
Returns the number of elements in the queue.
Examples:  | |||||||||||||
  | 
| (queue-empty? q) → boolean? | 
| q : queue/c | 
Recognizes whether a queue is empty or not.
Examples:  | ||||||||||||
  | 
This predicate recognizes queues.
Examples:  | ||||
  | 
Returns a sequence whose elements are the elements of
queue.
These contracts recognize queues; the latter requires the queue to
contain at least one value.