This question follows from this one I made earlier.
If you ask for FullForm[4]
you will get back 4
, and that's fine. 4
is supposed to be an atomic object. And if you do AtomQ[4]
, you will get back True
, confirming that 4
is an atom.
But there's a problem. If you do Head[4]
, you get Integer
. And this doesn't make sense. The whole meaning of the word atomic is "Unable to be split or made any smaller".
And yet apparently we can split a head off of an unsplittable thing.
Why is this? I don't mean teleologically--obviously its useful to be able to test whether a thing is an integer or a real or whatever. But why or how is this consistent inside the Wolfram Language?
52[[All]]
$\endgroup$