Elisp atomic types classification

Viewed 64

I was trying to create a classification of atomic types in elisp, based upon this page: Programming Types.

Here is what I've done:

Atomic types:
1. Integer
2. Floating point
3. Character ≡ Integer
4. Symbol

   4.1 Keyword symbol

5. Array

   5.1. String
   5.2. Vector
     5.2.1. Bool vector
   5.3. Char table

6. Hash Table

Questions:

  1. Is my classification full or I missed something?

  2. Arrays and hash tables are considered atomic, despite the fact, that these objects can be divided further. Why?

Code:

(atom "aaa")
;> t

(atom [1 "two" (three)])
;> t

(atom (make-hash-table))
;> t
1 Answers
Related