CLHS: Section 22.1.4

#

## 22.1.4 Examples of Printer Behavior

     (let ((*print-escape* t)) (fresh-line) (write #\a))
    >>  #\a
    =>  #\a
     (let ((*print-escape* nil) (*print-readably* nil))
       (fresh-line)
       (write #\a))
    >>  a
    =>  #\a
     (progn (fresh-line) (prin1 #\a))
    >>  #\a
    =>  #\a
     (progn (fresh-line) (print #\a))
    >>
    >>  #\a
    =>  #\a
     (progn (fresh-line) (princ #\a))
    >>  a
    =>  #\a

     (dolist (val '(t nil))
       (let ((*print-escape* val) (*print-readably* val))
         (print '#\a)
         (prin1 #\a) (write-char #\Space)
         (princ #\a) (write-char #\Space)
         (write #\a)))
    >>  #\a #\a a #\a
    >>  #\a #\a a a
    =>  NIL

     (progn (fresh-line) (write '(let ((a 1) (b 2)) (+ a b))))
    >>  (LET ((A 1) (B 2)) (+ A B))
    =>  (LET ((A 1) (B 2)) (+ A B))

     (progn (fresh-line) (pprint '(let ((a 1) (b 2)) (+ a b))))
    >>  (LET ((A 1)
    >>        (B 2))
    >>    (+ A B))
    =>  (LET ((A 1) (B 2)) (+ A B))

     (progn (fresh-line)
            (write '(let ((a 1) (b 2)) (+ a b)) :pretty t))
    >>  (LET ((A 1)
    >>        (B 2))
    >>    (+ A B))
    =>  (LET ((A 1) (B 2)) (+ A B))

     (with-output-to-string (s)
        (write 'write :stream s)
        (prin1 'prin1 s))
    =>  "WRITEPRIN1"

Copyright 1996-2005, LispWorks Ltd. All rights reserved.