<div dir="ltr"><div><div><div><div>that’s why i keep saying we should separate human-facing encapsulation concepts from compiler-facing abi visibility concepts. i’ve always been advocating for something like <br><span style="font-family:monospace,monospace"><br></span></div><span style="font-family:monospace,monospace">internal(visible)<br></span></div><span style="font-family:monospace,monospace">fileprivate(visible)<br></span></div><span style="font-family:monospace,monospace">private(visible)<br></span><br></div>in the same spelling we currently use for stuff like <span style="font-family:monospace,monospace">private(set)</span>. we might have to disallow it for <span style="font-family:monospace,monospace">fileprivate</span> because of the name mangling issue that Slava mentioned but it’s an elegant spelling and extensible if someone comes up with a good unique mangling scheme for private declarations.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Dec 29, 2017 at 10:35 AM, Félix Cloutier via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">I agree with the common theme that `@abiPublic` is weird. I imagine that not a lot of `@abiPublic` symbols actually want to be internal: they&#39;ll almost all be implementation details that really want to be `private` or `fileprivate` but that have to be `internal` to satisfy what (I believe) most people would consider to be a leaky abstraction provided by the Swift language. So why not go all the way and force @inlinable code to only reference public declarations?<div><br></div><div>What do we get in exchange of subverting the thus-far clear meaning of `internal`? Why is it better to have a special kind of internal that is not internal, instead of a special kind of public that is not listed, or even just no special kind of public?<div><br></div><div>That detail aside, having the ability to do cross-module inlining and specializing is valuable and exciting.</div><div><br></div><div>Félix<br><div><br><blockquote type="cite"><div><div class="h5"><div>Le 20 déc. 2017 à 19:19, Ted Kremenek via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt; a écrit :</div><br class="m_-178749273637802162Apple-interchange-newline"></div></div><div><div><div class="h5">



<div>
<div name="messageBodySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif"><p style="margin-right:0px;margin-bottom:15px;margin-left:0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255);margin-top:0px!important">The review of &quot;SE-0193 - Cross-module inlining and specialization&quot; begins now and runs through <strong>January 5, 2018</strong>.</p><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">The proposal is available here:</p>
<blockquote style="margin:5px 5px;padding-left:10px;border-left:thin solid #1abc9c"><div style="margin:0px"><a href="https://github.com/apple/swift-evolution/blob/master/proposals/0193-cross-module-inlining-and-specialization.md" target="_blank">https://github.com/apple/<wbr>swift-evolution/blob/master/<wbr>proposals/0193-cross-module-<wbr>inlining-and-specialization.md</a></div>
</blockquote><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">Reviews are an important part of the Swift evolution process. All review feedback should be sent to the swift-evolution mailing list at:</p>
<blockquote style="margin:5px 5px;padding-left:10px;border-left:thin solid #1abc9c"><div style="margin:0px"><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a></div>
</blockquote><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">or, if you would like to keep your feedback private, directly to the review manager. </p><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">When replying, please try to keep the proposal link at the top of the message:</p>
<blockquote style="margin:5px 5px;padding-left:10px;border-left:thin solid #1abc9c"><div style="margin:0px">Proposal link: <a href="https://github.com/apple/swift-evolution/blob/master/proposals/0193-cross-module-inlining-and-specialization.md" target="_blank">https://github.com/apple/<wbr>swift-evolution/blob/master/<wbr>proposals/0193-cross-module-<wbr>inlining-and-specialization.md</a><br>
...<br>
Reply text<br>
...<br>
Other replies</div>
</blockquote>
<h3 id="m_-178749273637802162toc_0" style="margin:20px 0px 10px;padding:0px;font-size:18px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">What goes into a review of a proposal?</h3><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. </p><p style="margin:15px 0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">When reviewing a proposal, here are some questions to consider:</p>
<ul style="margin:15px 0px;padding-left:30px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255)">
<li style="margin:0px"><p style="margin:0px 0px 15px">What is your evaluation of the proposal?</p>
</li>
<li style="margin:0px"><p style="margin:0px 0px 15px">Is the problem being addressed significant enough to warrant a change to Swift?</p>
</li>
<li style="margin:0px"><p style="margin:0px 0px 15px">Does this proposal fit well with the feel and direction of Swift?</p>
</li>
<li style="margin:0px"><p style="margin:0px 0px 15px">If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?</p>
</li>
<li style="margin:0px"><p style="margin:0px 0px 15px">How much effort did you put into your review? A glance, a quick reading, or an in-depth study?</p>
</li>
</ul><p style="margin-top:15px;margin-right:0px;margin-left:0px;font-family:Helvetica,arial,sans-serif;background-color:rgb(255,255,255);margin-bottom:0px!important">Thanks,<br>
Ted Kremenek<br>
Review Manager</p>
</div>
<div name="messageReplySection" style="font-size:14px;font-family:-apple-system,BlinkMacSystemFont,sans-serif"><br>
<div></div>
</div>
</div></div></div><span class="">

______________________________<wbr>_________________<br>swift-evolution mailing list<br><a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-evolution" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br></span></div></blockquote></div><br></div></div></div><br>______________________________<wbr>_________________<br>
swift-evolution mailing list<br>
<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-evolution" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-<wbr>evolution</a><br>
<br></blockquote></div><br></div>