anchor.diff:  ;; words and print them as a sentence, with the first word capitalized
   ;; and a period after the last word. You will have to consult a 
   ;; reference to learn new format directives.
  +
  +;; Book answer:
  +;; (format t "~@(~{~a~^ ~}.~)" '(this is a test))
  
positive.code: ;; and an association list, returns a new association list that is extended
  ;; to include the key/value pair. What is the name of this function?
  
  
  
  ;; Exercise 3.12 [m]
  
negative.code: ;; in dotted pair notation when necessary but will use normal list notation
  ;; when possible
  
  (defun print-normal (lst)
    (cond ((null lst)
           (princ '()))
          ((null (rest lst))
           (princ lst))
          (t
           (let ((elem (first lst))
                 (next-lst (rest lst)))
             (princ "(")
             (dotimes (x (length-dotted-pair lst)) 
               (cond ((not (listp next-lst)) ; dotted list
                      (princ elem) (princ " . ") (princ next-lst) (princ ")")
                      (return))
                     ; case where first element is also a list
                     ((listp elem)
                      (print-normal elem)
                      (if (null next-lst)
                          (princ ")")
                          (princ " ")))
                     ; end of list, terminate
                     ((null next-lst)
                      (princ elem) (princ ")"))
                     (t ; normal case
                      (princ elem ) (princ " ")))
               (setq elem (first next-lst))
               (setq next-lst (rest next-lst)))))))
  
  (defun length-dotted-pair (lst)
    "Find the length of the input list, even if it has a dotted pair inside."
    (length-dotted-pair-iter lst 0))
  
  (defun length-dotted-pair-iter (lst count)
    (cond ((null lst) count)
          ((not (listp lst)) (1+ count))
          (t
           (length-dotted-pair-iter (rest lst) (1+ count)))))
  
  ;; Exercise 3.5 [h]
  ;;
  