Just starting on my Elixir journey. Reading this in a book:
"The & operator converts the expression that follows into a function."
ok, I think I got that...
iex(70)> f = &(&1 * &2)
#Function<12.80484245 in :erl_eval.expr/5>
iex(72)> f.(2,3)
6
ok, ampersand is a shorthand for anonymous function and it's arguments. But then, why this next call doesn't work?!
iex(73)> &(&1 * &2).()
#Function<12.80484245 in :erl_eval.expr/5>
...and I can keep doing this seemingly forever:
iex(76)> &(&1 * &2).().().()
#Function<12.80484245 in :erl_eval.expr/5>
what is going on here?