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:
Is my classification full or I missed something?
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