<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>-1 for using -&gt; and =&gt; to mean different types of functions, not-pure and pure respectively. In fact I dislike using symbols unless they are really well known. Keywords read a lot better.&nbsp;<br><br>Sent from my iPad</div><div><br>On 22 Dec 2015, at 8:37 AM, Joe Groff via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>&gt; wrote:<br><br></div><blockquote type="cite"><div><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><br class=""><div><blockquote type="cite" class=""><div class="">On Dec 21, 2015, at 12:20 PM, T.J. Usiyan via swift-evolution &lt;<a href="mailto:swift-evolution@swift.org" class="">swift-evolution@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: 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;" class="">I have been thinking about this proposal since the list opened up.&nbsp; I think that @read(none|only) should be considered as an alternative. Just as in clang and the optimizer annotations @read(none) would be the attribute described and @read(only) could read global variables but could not write. Is it possible to generate a runtime error if we guarantee that function A is pure, only to call it and 'find out' that it isn't? If we can, then do try syntax could be considered.&nbsp;</div></div></blockquote></div><br class=""><div class="">Another approach here is an effects system. If a pure function were spelled `(T) =&gt; U`, then `readonly` could be expressed as `(T) reads =&gt; U`, and (T) -&gt; U could remain as a synonym for (T) reads, writes =&gt; U, in the spirit of encouraging immutability without punishing mutability.</div><div class=""><br class=""></div><div class="">-Joe</div>
<img src="https://u2002410.ct.sendgrid.net/wf/open?upn=Vm9j-2B2K6zLqxUFTO82XA8HV2TThDz5lA3-2F-2Fpeujw7DSYhKjmOQDsZ4Gu6YQhwMy8sUZzu7ObcPTORIUY8CcYNWF5x7cu1fewHIbuKR-2BQVsf6r0lW0B2vrIFK3fZ48HHL-2FhMBe8R55qVM7gElhC6F4UpkDyEZ65nvCxf0LmaNeAawRVh5mu8uY2IiZmlO-2FcrPoe-2FeYmlq-2Fpszn0jsaFaEo-2FiQEsHK0t8BZXW1ROwCb-2BA-3D" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;">

</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>swift-evolution mailing list</span><br><span><a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a></span><br><span><a href="https://lists.swift.org/mailman/listinfo/swift-evolution">https://lists.swift.org/mailman/listinfo/swift-evolution</a></span><br></div></blockquote></body></html>