t3x.org / sketchy / library / listp.html
SketchyLISP
Reference
  Copyright (C) 2007
Nils M Holm

list?

Conformance: R5RS Scheme

Purpose: Check whether a datum is a (proper) list. Proper lists are:
'(), (cons X '()), (cons Y (cons X '())), ...

Arguments:
X - datum

Implementation:

(define (list? x)
  (or (null? x)
      (and (pair? x)
           (list? (cdr x)))))

Example:

(list? '(a b c)) 
=> #t

See also:
boolean?, null?.