Immutable Data In Elixir - Elixir Melbourne
This is a talk from Elixir Melbourne Feb 2016.
One of the learning humps for new Elixir developers is how to use immutable data - structs, lists, maps etc.
In imperative languages, state is usually managed by mutating data.
Elixir does this differently, and disallows mutation of state. Instead, immutable data structures are used in combination with recursion and functional patterns to achieve the same thing. The result takes some getting used to, but leads to more elegant code that is easier to reason about. In addition immutability of data is a key attribute that allows the Erlang VM to run with such a high level of concurrency.