(define (display-list l)
  (define (display-cons cns)
    (display-list (car cns))
    (cond ((null? (cdr cns)) #f)
          ((pair? (cdr cns))
           (display " ")
           (display-cons (cdr cns)))
          (else
           (display " . ")
           (display (cdr cns)))))
  (cond ((null? l) (display "()"))
        ((pair? l)
         (display "(")
         (display-cons l)
         (display ")"))
        (else (display l))))