<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body><div style="font-family:Arial;">On Thu, Aug 17, 2017, at 10:04 PM, Chris Lattner via swift-evolution wrote:<br></div>
<div><blockquote type="cite"><div style="font-family:Arial;">That said, I don’t feel like I have enough data to have a strong opinion on it. &nbsp;The missing link for me is exactly how pervasive the non-throwing cocoa completion handlers are. &nbsp;If it turns out that people would have to confront "async(nonthrowing)” in practice (as opposed to being an obscure corner that the compiler implementers have to care about) then it is probably the wrong design.<br></div>
</blockquote><div class="signature"><br></div>
<div style="font-family:Arial;">It may be helpful to look at data points outside of Cocoa. We use a Future framework that distinguishes between plain old `Future&lt;T&gt;` and `Future&lt;Result&lt;T&gt;&gt;`. In a back-of-the-hand calculation, about 10% of our futures don’t use  Result. It’s rarer, but it is useful; it aligns well with the Error manifesto’s notion of a domain failures.<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">I think I’m overall in favor of an implicitly throwing model, though. Not only is it cleaner, but it’ll simplify all sorts of abstractions. f.ex: In our use of this framework, collecting up errors or cancellations for an array of tasks is a perennial problem.&nbsp;`Future&lt;T?&gt;` (and similarly `async -&gt; T?`) can be plenty useful, but I’m not sure they pull their weight enough to deserve occupying the best syntax.<br></div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;">(Huge, huge +1 to the whole shebang, though. Let’s just do this!!!)</div>
<div style="font-family:Arial;"><br></div>
<div style="font-family:Arial;"><span class="font" style="font-family:arial, sans-serif, sans-serif">Sincerely,</span><span class="font" style="font-family:arial, sans-serif, sans-serif"></span><br></div>
<div class="signature"><span class="font" style="font-family:arial, sans-serif, sans-serif">&nbsp; Zachary Waldowski</span><span class="font" style="font-family:arial, sans-serif, sans-serif"></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><span class="font" style="font-family:arial, sans-serif, sans-serif"></span><br></div>
<div class="signature"><br></div>
</div>
<div style="font-family:Arial;"><br></div>
</body>
</html>