Reputation: 23729
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
Upvotes: 4
Views: 81
Reputation: 906
There are lacking keyword-symbol, such as :keyword
. It's determined by keywordp
.
I think atom
is representing "not a list".
Upvotes: 3