[swift-evolution] [Discussion] Namespaces

Matthew Johnson matthew at anandabits.com
Fri May 20 11:12:05 CDT 2016


> On May 20, 2016, at 11:09 AM, Brandon Knope <bknope at me.com> wrote:
> 
> I'm pretty sure he meant "cross dependencies”

It’s still unclear to me how namespaces might help in a way that submodules wouldn’t.  Can one of you provide an example of the problem you have in mind and how it is solved with namespaces?

> 
> Brandon 
> 
> Sent from my iPad
> 
> On May 20, 2016, at 12:06 PM, Matthew Johnson via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
> 
>> 
>>> On May 20, 2016, at 10:54 AM, Adrian Zubarev via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>> 
>>> Can submodules enforce the developer to use its name ’Submodule.SomeClass’?
>> 
>> Ideally we would have flexible import syntax that allows for control over *how* names are imported into a lexical context (including the ability to import names within a very specific scope if desired).
>> 
>>> Do I have to re-build submodules when I made any changes to them before building the outside code base?
>> 
>> All submodules are part of the same target as the module that contains them.
>> 
>>> Can they efficiently used for cross decencies between different modules/submodules?
>> 
>> Cross decencies?  I don’t understand.
>> 
>>> 
>>> —— 
>>> Empty enums is an abuse of the language! 
>> 
>> But it is a practical and effective one.  Introducing a new construct like namespaces must carry significant advantages over what is already possible.
>> 
>>> 
>>> -- 
>>> Adrian Zubarev
>>> Sent with Airmail
>>> 
>>> Am 20. Mai 2016 bei 17:49:29, Matthew Johnson via swift-evolution (swift-evolution at swift.org <mailto:swift-evolution at swift.org>) schrieb:
>>> 
>>>> 
>>>> > On May 20, 2016, at 10:43 AM, Robert Schwalbe via swift-evolution <swift-evolution at swift.org <mailto:swift-evolution at swift.org>> wrote:
>>>> > 
>>>> >> Anyway, I'm +1 for namespaces everywhere, some names can be common. For example Node could be related to trees, physics engines and all sorts of constructs. "Node" may be a perfectly fine name for these. That said, these are sometimes tied to specific types in which case nesting them may make more sense, which I believe is already being addressed (currently we can't nest generic types)? It's certainly not as simple as it can appear!
>>>> > 
>>>> > Absolutely +1 for namespaces.
>>>> > 
>>>> > Even if you despise the concept of namespaces that seems like that can be addressed by a project and/or company style guide that explicitly forbids their use.
>>>> > 
>>>> > For the people/projects that would embrace namespaces, namespaces would be a godsend.
>>>> > 
>>>> > Sure, you can probably pull all kind of stunts to simulate namespaces, but besides creating additional work for the Swift team (and I do not say nor take that lightly), they really need to be supported and implemented at the language/syntax level for first class citizenry.
>>>> 
>>>> What benefit do namespaces provide that submodules would not?
>>>> 
>>>> > _______________________________________________
>>>> > swift-evolution mailing list
>>>> > swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>>> > https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>>> 
>>>> _______________________________________________
>>>> swift-evolution mailing list
>>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>>> _______________________________________________
>>> swift-evolution mailing list
>>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org <mailto:swift-evolution at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-evolution <https://lists.swift.org/mailman/listinfo/swift-evolution>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160520/a77b6344/attachment.html>


More information about the swift-evolution mailing list