Makes sense. Thank you very much!

W dniu piątek, 1 marca 2019 16:22:41 UTC+1 użytkownik José Valim napisał:
>
> To expand on that, that's because the Elixir compiler compiles everything 
> in parallel, so at compilation time, we don't know what is defined yet.
>
> Furthermore, this is sometimes desired behaviour. For example, when it 
> comes to optional dependencies. Ecto, for instance, can work with both 
> Jason and Poison, so it calls both, but if a dev only has Jason as a 
> dependency, Ecto should still compile.
>
> *José Valim*
> www.plataformatec.com.br
> Skype: jv.ptec
> Founder and Director of R&D
>
>
> On Fri, Mar 1, 2019 at 7:12 AM Alexei Sholik <[email protected] 
> <javascript:>> wrote:
>
>> Mix does warn about it when you try to call a function from a 
>> non-existent module:
>>
>> $ mix compile
>> Compiling 1 file (.ex) 
>> warning: function This.Module.Does.Not.Exist.foo/0 is undefined (module 
>> This.Module.Does.Not.Exist is not available)
>>
>> It does so because `mix xref` runs automatically on each compilation. The 
>> base Elixir compiler doesn't perform such checks.
>>
>> On Fri, Mar 1, 2019 at 4:08 PM Jan Ziniewicz <[email protected] 
>> <javascript:>> wrote:
>>
>>>
>>> Hi everyone, 
>>>
>>> Please take a look at this line of code:
>>>
>>> alias This.Module.Does.Not.Exist 
>>>
>>> In my opinion compiler should emit an error or at least warning when 
>>> trying to alias a non existent module? However, this line is perfectly 
>>> valid  piece of code.
>>> Asking just out of curiosity, is this a bug or a feature? 
>>>
>>> Best, Jan
>>>
>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "elixir-lang-core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected] <javascript:>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/elixir-lang-core/3bc43a69-ad37-4323-be65-f7ddac4aaead%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/elixir-lang-core/3bc43a69-ad37-4323-be65-f7ddac4aaead%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elixir-lang-core" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elixir-lang-core/CAAPY6ePFexxHpxBGmR4Bjxa_xQgXAibTsEnAU97S%2BrF1udPPkQ%40mail.gmail.com
>>  
>> <https://groups.google.com/d/msgid/elixir-lang-core/CAAPY6ePFexxHpxBGmR4Bjxa_xQgXAibTsEnAU97S%2BrF1udPPkQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/8477be4e-b406-4667-a1ef-e470b06fd47a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to