[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: (atom VECTOR): franz vs liszt

	The predicate atom in Franz appears to be:
(defun atom(foo)
   (if foo
      then (not (or (hunkp foo) (dtpr foo)))
      else t))

whereas a more natural implementation, it seems to me, is:

(defun atom(foo)
   (or (symbolp foo) (numberp foo)))

Since it seems to me that:

(xor (vectorp foo) (hunkp foo) (dtpr foo) (atom foo) (arrayp foo))

should always be non-nil for non-nil objects.  Or, better put, that vectors,
hunks, dtprs, atoms, and arrays should partition the data space.  No?