It helps not to think of :a as a variable (you won’t see it on
left-hand-side). It is an identifier called a ‘symbol’ or in some
other
languages an ‘atom’ or ‘interning.’ A symbol is guranteed to be the same
(for the same string) everywhere it is used. Atoms can be introduced
ad-hoc
in your code and anywhere you use the same atom is assured to match
:foo !=
:bar but :foobar == :foobar. It is a space and time saver to use
symbols as
constants, keys etc. rather than using a string constant.