Cases[Names["System`*"],x_:> If[StringTake[x, 1] == "$", Nothing, If[AtomQ@ToExpression[x], ToExpression[x], Nothing]]]
This still gives me a list of atoms which are actually Built-in Function heads. How do it find and remove them to get a list of all available true atoms.
WolframLanguageData[EntityClass["WolframLanguageSymbol", "Atomic"]]
? (It's not complete;Integer
andReal
are not there, for example.) This is a previous thread. $\endgroup$