If you're looking for an implementation of a set in Elixir, you're looking for MapSet. You create and manipulate them with the functions from the MapSet module. Here are some examples:
iex> set = MapSet.new#MapSet<[]>iex> set = MapSet.put(set, 1)#MapSet<[1]>iex> set = MapSet.put(set, 2)#MapSet<[1, 2]>iex> set = MapSet.put(set, 1)#MapSet<[1, 2]>
Sets, by definition, can't contain duplicates. So, inserting a value that's already there has no effect. You can find the documentation for the MapSet module at https://hexdocs.pm/elixir/MapSet.html.
There are three types, related to the underlying Erlang VM, that we have to mention before closing this section. They are as following:
- Reference: A reference is a type created by the Kernel.make_ref ...