anchor.diff:  ;;;; You should have received a copy of the GNU General Public License
   ;;;; along with this program.  If not, see <http://www.gnu.org/licenses/>
   
  -;;; Creates a new and empty queue
  -(defun make-queue ()
  -  (list '()))
  +;;; Struct describing a very basic queue.
  +;;; A queue is basically a list that allows the insertion of elements at the one
  +;;; and the removal of elements at the other end only.
  +;;;
  +;;; In this specific implementation, elements can be added at the very rear of it
  +;;; and removal only takes place at the front.
  +(defstruct queue
  +  (elements NIL)
  +  ;; For efficiency purposes we save a pointer to the very last element of the
  +  ;; queue here.
  +  (qlast NIL)
  +)
   
   ;;; Checks if the queue is empty or not.
   ;;;
  
positive.code: ;;; @return Returns the top element from the queue if possible.
  (defun peek (queue)
    (if (is-empty? queue)
        '()
      (car (reverse (car queue)))))
  
  ;;; Pretty-prints the queue
  ;;; 
  ;;; @param queue
  ;;;         The queue to pretty-print.
  (defun print-queue (queue)
    (format t "~a~%" (car queue)))
  
negative.code: ;;;; Copyright (c) 2016, Thomas Lang. All rights reserved.
  ;;;; 
  ;;;; This program is free software: you can redistribute it and/or modify
  ;;;; it under the terms of the GNU General Public License as published by
  