I worked it out. 
I would not call it a bug, I would rather call it a very bad compiler error 
message.

Basically what happens is the following. You have this directory structure:
/src
+-- Component
|   +-- Ports.elm
|   +-- ...
+-- ModuleA.elm
+-- ModuleB.elm

ModuleA.elm says "import Ports"
ModuleB.elm says "import Component.Ports"

Component/Ports.elm can declare "module Ports" or "module Component.Ports", 
either one is correct but the compiler will complain that the file's name 
and the source code does not match.
A good message, in my opinion, would accept whatever is declared in P
orts.elm (if it is valid), and would point to eiher ModuleA or ModuleB 
stating that one of them is trying to import a module which does not exist.






On Friday, July 29, 2016 at 11:11:05 PM UTC+2, Duane Johnson wrote:
>
> Hi Gabor, did you ever get this worked out? I'm curious if it's an elm bug.
>
> On Fri, Jul 22, 2016 at 9:40 AM, Gábor Varga <[email protected] 
> <javascript:>> wrote:
>
>> Hello guys,
>>
>> I have a pretty standard elm project: all my source files are in src and 
>> under src there are several sub directories for each feature.
>> One of those is called Login and it has a Model/Update/View.elm files in 
>> it as well as 2 port modules: InputPorts and OutputPorts. Now I cannot 
>> name those port modules in a way the compiler would not complain:
>>
>> $ elm-make src/main.elm --output build/elm.js --yes --warn
>> The module name is messed up for .\./src\Login\OutputPorts.elm
>>
>>     According to the file's name it should be Login.OutputPorts
>>     According to the source code it should be OutputPorts
>>
>> Which is it?
>>
>> *## after renaming it in the "source code" *
>> $ elm-make src/main.elm --output build/elm.js --yes --warn
>> The module name is messed up for .\./src/Login\OutputPorts.elm
>>
>>     According to the file's name it should be OutputPorts
>>     According to the source code it should be Login.OutputPorts
>>
>> Which is it?
>>
>>
>> Any ideas what I am missing?
>>
>>
>> Thanks,
>>
>> Gabor
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Elm Discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to