- empty_queue(Queue)
- tests whether the queue is empty
- head_queue(Queue, Head)
- unifies Head with the first element of the queue
- join_queue(Element, OldQueue, NewQueue)
- adds the new element at the end of the queue
- jump_queue(Element, OldQueue, NewQueue)
- adds the new element at the front of the list
- length_queue(Queue, Length)
- counts the number of elements currently in the queue
- list_join_queue(List, OldQueue, NewQueue)
- adds the new elements at the end of the queue
- list_jump_queue(List, OldQueue, NewQueue)
- adds all the elements of List at the front of the queue
- list_to_queue(List, Queue)
- creates a new queue with the same elements as List
- make_queue(Queue)
- creates a new empty queue
- queue_to_list(Queue, List)
- creates a new list with the same elements as Queue
- serve_queue(OldQueue, Head, NewQueue)
- removes the first element of the queue for service
In this package, a queue is represented as a term Front-Back, where Front is a list and Back is a tail of that list, and is normally a variable. join_queue will only work when the Back is a variable, the other routines will accept any tail. The elements of the queue are the list difference, that is, all the elements starting at Front and stopping at Back. Examples:
[a,b,c,d,e|Z]-Z has elements a,b,c,d,e [a,b,c,d,e]-[d,e] has elements a,b,c Z-Z has no elements [1,2,3]-[1,2,3] has no elements