D supports local imports and has to deal with overloading. Nim supports the 
following: 
    
    
    from foo import nil
    
    block: # Start of scope
      template someSymbolFromFoo(a: int): int = foo.someSymbolFromFoo(a)
      type SomeTypeFromFoo = foo.SomeTypeFromFoo
      # Use SomeTypeFromFoo and someSymbolFromFoo
    
    # Pop scope. SomeTypeFromFoo and someSymbolFromFoo are not defined again.
    
    

So we can local "import" symbols from another module "artificially", we just 
need to automate it a bit =) 

Reply via email to