I had always assumed that dots, like at-signs, were allowed in Erlang atoms so that one could write an Erlang node name like erl_node@REDACTED as an atom. It was never clearly stated anywhere what the rules were, and the way that .x = x was particularly odd.