<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=""><div><blockquote type="cite" class="">And the funny thing is, we don’t actually _need_ access control levels.<br class=""></blockquote><div>That is true (but actually, there isn't much that is really needed ;-)</div><div>[Months ago, I've been thinking of proposing a system that is backed by private/public key cryptography — just to make fun of some overstated plans ;-) ]</div><div><br class=""></div><div>My very own opinion is that Swift doesn't need a more sophisticated model — it just should have a good ratio of complexity and power.</div><div>By accepting the change of meaning for "private" and adding a fourth level, imho we gave up on simplicity in favour for theoretical benefits, and mixed concerns (ability to call vs. ability to override) with "open".</div><div>So, the current system is quite complex, yet it lacks power…</div><div>An ACL-like scheme would even be a little bit more complex, but add a significant amount of expressiveness, so I'd prefer it over the status quo.</div><div>The decision between ACL and "private, internal, public" would be much harder, though — but afaics, the majority aims for one of the extremes, so we'll most likely have to live with a compromise here.</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><span 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; float: none; display: inline !important;" class="">It seems to me that in almost all discussions the arguments are mostly backwards: i.e. formulated from the perspective of the API users.</span></div></blockquote></div>Can you elaborate on this and point out examples?</body></html>