On Thursday, 7 December 2017 at 16:39:14 UTC, kdevel wrote:
But why do I have to use the prefix "mymod.:" in the
library case?

If you have an editor open with ten tabs pointing to different files in your source tree, all your imports are uniform -- you don't have to step back and consider where the specific file you're editing is and calculate relative import paths.

You always import a given module with the exact same code. If you copy and paste code between two modules and that contains an import statement, it just works.

If you decide to move a module to a different package, you need to change its module name, move it on disk, and update the stuff that imports it. You don't have to update every import it does.

If you have a source tree like:

pierce/
  db/
    core.d
  controllers/
    feed.d

then feed.d can have `import pierce.db.core;` instead of people being confused about how to refer to the parent directory in a relative imports style.

The tradeoff is that you have to type sometimes as many as twelve extra characters in a handful of lines of code.

Reply via email to