[swift-evolution] [Proposal][Discussion] Modular Swift

Jonathan Hull jhull at gbis.com
Tue Feb 21 01:01:51 CST 2017

> On Feb 20, 2017, at 10:46 PM, Robert Widmann via swift-evolution <swift-evolution at swift.org> wrote:
> More generally, we need to move access control away as far away from filesystems as possible.  One day, the compiler is going to get ported over to a platform with some bonkers rules that are going to turn around and bite us.

This is the key thing which I think is being debated right now.  Swift 2 defined the file as a unit of compilation and based its elegant system of access modifiers on that.  With Swift 3 we have a mix of type/scope based modifiers and file based modifiers… and it is super confusing to everyone because we have mixed our metaphors.

As much as I want modules, I am now convinced that this proposal will only make that situation worse.  We need to pick one way (file based) or the other (scope based) and commit to it… but either way, it will require a larger overhaul to make the system consistent/usable/teachable again.

As an analogy, it is like some people are trying to play rock music during a classical music concert.  Both are great independently, and different people may prefer one or the other… but trying to play them on top of one another just results in noise.


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

More information about the swift-evolution mailing list