<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div style="font-family:Arial;">On Wed, Aug 9, 2017, at 08:42 PM, Jordan Rose via swift-evolution wrote:<br></div>
<blockquote type="cite"><div>- Consistency: switches on an enum in the same module can always be exhaustive, so having it be different across modules is a bit annoying. (But 'public' already acts like this.)<br></div>
</blockquote><div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">From someone frequently working on teams or unfamiliar codebases, it’s really heard to know whether “default: fatalError()” is a smell or not without memorizing the  surface area of every API your app works with.<br></div>
<div style="font-family:Arial;"><br></div>
<blockquote type="cite"><div><font color="#1f1f1f">…<span style="letter-spacing: -0.1px;">&nbsp;That brings us to one more concern: how different should binary frameworks be from source frameworks?</span></font><br></div>
</blockquote><div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">As few as possible. Realistically, I understand there must be  some, but I feel like they need to be there for awfully good reasons. The differences between app targets, framework/library targets, and playgrounds feel arbitrary unless you understand parts of the language very fully.<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">Some debugging techniques (or even just saving-time-rebuilding techniques) involve using a binary framework and swapping it for another binary with extra instrumentation or a source version for full instrumentation, or vice-versa as you ossify a PoC feature into being production-ready. It would be awful to break source compatibility as this happens because an API you’re consuming changes behavior according to the compiler. (I can hear my graybeard coworkers already - “It’s the same code!”)<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;"><div id="sig20055365"><div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">Sincerely,</span><br></div>
<div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">&nbsp; Zachary Waldowski</span><br></div>
<div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">&nbsp;&nbsp;</span><a href="mailto:zach@waldowski.me"><span class="font" style="font-family:arial, sans-serif, sans-serif">zach@waldowski.me</span></a><br></div>
<div class="signature"><div style="font-family:Arial;"><br></div>
</div>
</div>
</div>
<div style="font-family:Arial;"><br></div>
</body>
</html>