Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Magic directory names seems a bit of a hack to avoid supporting this notion in the language itself.

AFAIK this also introduces the English language into the currently freeform world of user import paths. I guess source files themselves already have something similar with the "_test.go" suffix, so there's some consistency with that.



Plus, every keyword is already in English.


That goes without saying at this point. I'm not saying the English-in-path thing is a huge deal, but it's worth noting effects that sneak in along with a feature.


What magic directory names? The special case for "pkg" is the only one I saw.

The main proposal is one of scoping by directory hierarchy - /a/b/c can import a/b/d but a/g/x can't.


> /a/b/c can import a/b/d but a/g/x can't.

No - x can import d because d isn't in a directory literally named internal. That's the magic name.


> What magic directory names?

"internal"

> The main proposal is one of scoping by directory hierarchy - /a/b/c can import a/b/d but a/g/x can't.

/a/b/c can import a/b/d, and /a/g/x and /z can too. The new rule is that /a/g/x can not import /a/internal/y.


> The new rule is that /a/g/x can not import /a/internal/y.

As I understand it, /a/g/x CAN import /a/internal/y, because /a/g/x is in the directory tree that starts at /a/. However, /b/h/z CANNOT import /a/internal/y/ (while previously, it could).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: