How useful is the feature of having an atom data type in a programming language?
A few programming languages have the concept of atom or symbol to represent a consta
You're actually not right in saying python has no analogue to atoms or symbols. It's not difficult to make objects that behave like atoms in python. Just make, well, objects. Plain empty objects. Example:
>>> red = object()
>>> blue = object()
>>> c = blue
>>> c == red
False
>>> c == blue
True
>>>
TADA! Atoms in python! I use this trick all the time. Actually, you can go further than that. You can give these objects a type:
>>> class Colour:
... pass
...
>>> red = Colour()
>>> blue = Colour()
>>> c = blue
>>> c == red
False
>>> c == blue
True
>>>
Now, your colours have a type, so you can do stuff like this:
>>> type(red) == Colour
True
>>>
So, that's more or less equivalent in features to lispy symbols, what with their property lists.