Implementing queues in Lisp

A queue is a data structure where items are entered one at a time and removed one at a time in the same order---i.e., first in first out. They are the same as stacks except that in a stack, items are removed in the reverse of the order they are entered---i.e., last in first out. Queues are most precisely described by the functions that act on them: (make-queue) Creates and returns a new empty queue.