<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Feb 20, 2017, at 10:51 PM, Robert Widmann <<a href="mailto:devteam.codafi@gmail.com" class="">devteam.codafi@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class=""><blockquote type="cite" class="" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class=""><div class="" style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="">On a side note, I do think that people will quickly want a way to reference a particular submodule boundary with access modifiers. It may not be part of this proposal, but it is somewhat inevitable. We should consider that as we consider this proposal…</div><div class=""><br class=""></div></div></div></blockquote><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Modules are not types, access control makes no sense here. APIs may be exported (or not) across module boundaries, but modules themselves are not arbitrary programming constructs nor do we consider them to carry semantic weight as in some other ML-likes. A public module is no different from a private module if you can import it. A private module is no different from a public one if you cannot.</div></div></div></div></blockquote></div><br class=""><div class="">What I mean is that someone will eventually want to expose a member within a submodule that is a parent of the innermost submodule, but not make it public. They will want to say something like ‘private(ModuleName)’. Note, I am not proposing that syntax, just that it is an inevitable thing that people will ask for…</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Jon</div></body></html>