> On Feb 20, 2017, at 10:46 PM, Robert Widmann via swift-evolution 
> <swift-evolution@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.

Thanks,
Jon

_______________________________________________
swift-evolution mailing list
swift-evolution@swift.org
https://lists.swift.org/mailman/listinfo/swift-evolution

Reply via email to