表現したい定数のまとまりがあるときは、アトムを使えます。アトムを使うと、値を型安全に比較できます。アトムは、名前の前にコロンを付けて定義します。
# Atoms start with a ':',
# followed by alphanumeric snake_cased characters
:an_atom
Elixirの標準ライブラリの多くの関数は、結果を示すためにアトムを返します。
Enum.fetch([1], 0)
# => {:ok, 1}
Enum.fetch([1], 2)
# => :error
アトムは、内部ではルックアップテーブルの中の整数として表現され、この整数は自動的に設定されます。そのため、アトムの比較は文字列の比較よりも速くなります。この内部の値を変更することはできません。ユーザーが与えた入力から動的にアトムを生成することは、一般にアンチパターンと考えられています。ランタイムに置けるアトムの数には限りがあるため、アトムテーブルがいっぱいになると、実行時に新しいアトムを生成する処理が失敗することがあります。