> I come from the Land of Java ... I guess my "pain threshold" for long names 
> is higher.

@monster, My problem is that I am porting code from other languages. I want to 
follow the directory structure of Python **networkx**. For example, I want 
something in a directory path like `algorithms/shortest_paths/simple.nim`. But 
then the package name is `simple`. So nobody else on Earth can use `simple.nim` 
as an exported filename. That is quite restrictive.

There is a nice `as` syntax (discussed in 
[https://forum.nim-lang.org/t/3154#19926](https://forum.nim-lang.org/t/3154#19926)
 ), but it does not release us from the requirement of module-name uniqueness. 
For example: 
    
    
    from bar/me/foo import a
    from bar/you/foo import b
    a()
    b()
    

where we have these files: 
    
    
    $ cat bar/me/foo.nim
    proc a*() =
        echo "in a"
    $ cat bar/you/foo.nim
    proc b*() =
        echo "in b"
    

We end up with this error: 
    
    
    bar/you/foo.nim(1, 2) Error: module names need to be unique per Nimble 
package; module clashes with bar/me/foo.nim
    

In my opinion, this is a burdensome restriction. More discussion is in this 
closed Issue (where Araq at least fixed the error message):

  * 
[https://github.com/nim-lang/Nim/issues/5112](https://github.com/nim-lang/Nim/issues/5112)


Reply via email to