Why the paths in Phoenix require an atom instead of a function?

Runtime dynamic binding:

iex(4)> arg = "Hello"
"Hello"
iex(5)> IO.puts(arg)
Hello
:ok
iex(6)> Kernel.apply(IO, :puts, [arg])
Hello
:ok
iex(7)> 

Kernel.apply/3


2 Likes