atom?

Das Prädikat atom? überprüft, ob es sich bei seinem Argument um ein Atom handelt.

> (atom? nil)
t

> (atom? 3)
t

> (atom? (quote x))
t

> (atom? "abc")
t

> (atom? (quote (a b c))
nil

Das Prädikat ist anhand einer Fallunterscheidung definiert:

(setq atom?
  (lambda (x)
    (or
      (null? x)
      (eq? (type-of x) (quote rational))
      (eq? (type-of x) (quote atom))
      (eq? (type-of x) (quote string)))))