Почему компилятор Erlang не обнаруживает функции undefined во время компиляции.
Если я пишу test.erl:
-module(test).
-export([start/0]).
start() ->
erlang:foo().
Он компилируется отлично.
Eshell V5.6.5 (abort with ^G)
1> c(test).
{ok,test}
2>
Но выходит из строя.
2> test:start().
** exception error: undefined function erlang:foo/0
Почему компилятор не выдает ошибку или предупреждение об этом во время компиляции? Он должен знать об экспортируемых функциях, не так ли?