The BEAM is great, but the Elixir language itself is really what spoiled me. After having written ruby for years, I really enjoy what the Elixir language has to offer. Pattern matching[0] and the pipe operator[1] eliminate a ton of intermediate variables. Functional programming took a while to get used to, but I'm really starting to like thinking immutably. Now that I'm more advanced in the language, I'm starting to get into the Lisp style hygienic (and unhygienic macros)[2]. The Elixir standard library is really well done, everything is consistent and well documented. Elixir language level built in libraries like ExUnit[3] and Embedded Elixir (EEx)[4] are very high quality. For me the BEAM is just the cherry on top, I really like the Elixir language itself!

[0] https://elixir-lang.org/getting-started/pattern-matching.htm...

[1] https://elixirschool.com/en/lessons/basics/pipe-operator/

[2] https://elixir-lang.org/getting-started/meta/macros.html

[3] https://hexdocs.pm/ex_unit/master/ExUnit.html

[4] https://hexdocs.pm/eex/EEx.html

Can you recommend any learning materials that were particularly useful to you?