Keyword lists are very core to the Elixir syntax itself. For example
def the_answer do
42
end
is syntax sugar for
def the_answer, do: 42
or even
def(the_answer, [do: 42])
which is basically 2 parameters passed to the def macro. The last one is a keyword list with a :do key in it.
This is why all your functions can take a keyword list without square braces as the last parameter – because the core language syntax uses that.






















