DocumentationMathematicaThe Mathematica BookMathematica Reference GuideBasic Objects
A.1.4 Atomic Objects
All expressions in Mathematica are ultimately made up from a small number of basic or atomic types of objects.
These objects have heads which are symbols that can be thought of as "tagging" their types. The objects contain "raw data", which can usually be accessed only by functions specific to the particular type of object. You can extract the head of the object using Head, but you cannot directly extract any of its other parts.
Atomic objects in Mathematica are considered to have depth 0 and yield True when tested with AtomQ.
As an optimization for some special kinds of computations, the raw data in Mathematica atomic objects can be given explicitly using Raw[head, "hexstring"]. The data is specified as a string of hexadecimal digits, corresponding to an array of bytes. When no special output form exists, InputForm prints special objects using Raw. The behavior of Raw differs from one implementation of Mathematica to another; its general use is strongly discouraged.