I'm going over the official Elixir website and learning about Mix at the moment. I'm following their example.
In the document, they mention:
When you compile your source code, Elixir compiles artifacts to the _build directory. However, in many occasions to avoid unnecessary copying, Elixir will create filesystem links from _build to actual source files. When true, :build_embedded disables this behaviour as it aims to provide everything you need to run your application inside _build.
I have few questions about this excerpt:
- What is filesystems links? Is it just referring to something like "bin/elixir"?
- Can you rephrase "Elixir will create filesystem links from _build to actual source files."? I'm not sure what it means by creating the links to actual source files. Does it mean, it is not building artifats in
_build
folder but in other place? Why is it better to put all artifats in
_build
folder than other places? Is it plainly because it's better to put all artifats in one folder?One last question about
:start_permanent
:- In the document, it says
:start_permanent option starts your application in permanent mode, which means the Erlang VM will crash if your application’s supervision tree shuts down.
. Is it always better to crash the VM when the supervision tree shuts down? What's the motivation behind this?
- In the document, it says