<html><head></head><body bgcolor="#FFFFFF"><div>Can you explain why you think it is an improvement?</div><div>To me, it looks like line noise.<br><br>&nbsp;Regards,<div>&nbsp;&nbsp; &nbsp;Malcolm</div></div><div><br>On 5/08/2013, at 20:06, Edward Kmett &lt;<a href="mailto:ekmett@gmail.com">ekmett@gmail.com</a>&gt; wrote:<br><br></div><div></div><div><pre><span class="hs-definition"><font face="arial, helvetica, sans-serif">Right now the definition of </font><font face="courier new, monospace">Control.Monad.void</font><font face="arial, helvetica, sans-serif"> is:</font></span></pre>
<pre><font face="courier new, monospace"><span class="hs-definition">void</span> <span class="hs-keyglyph" style="color:red">::</span> <span class="hs-conid">Functor</span> <span class="hs-varid">f</span> <span class="hs-keyglyph" style="color:red">=&gt;</span> <span class="hs-varid">f</span> <span class="hs-varid">a</span> <span class="hs-keyglyph" style="color:red">-&gt;</span> <span class="hs-varid">f</span> <span class="hs-conid">()</span></font></pre>
<pre><font face="courier new, monospace"><span class="hs-definition">void</span> <span class="hs-keyglyph" style="color:red">=</span> <span class="hs-varid">fmap</span> <span class="hs-layout" style="color:red">(</span><span class="hs-varid">const</span> <span class="hs-conid">()</span><span class="hs-layout" style="color:red">)</span></font></pre>
<pre><span class="hs-layout" style="color:red"><pre style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">I propose we replace it with</font></pre><pre style="color:rgb(0,0,0)"><font face="courier new, monospace">void :: Functor f =&gt; f a -&gt; f ()</font></pre>
<pre style="color:rgb(0,0,0)"><span style="font-family:'courier new',monospace">void = (() &lt;$)</span></pre><pre style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">This expands out to the former definition by the default definition of </font><font face="courier new, monospace">(&lt;$)</font><font face="arial, helvetica, sans-serif"> and </font><font face="courier new, monospace">Data.Functor.Functor </font><font face="arial, helvetica, sans-serif">exports </font><font face="courier new, monospace">(&lt;$)</font><font face="arial, helvetica, sans-serif"> explicitly to make it possible to optimize this sort of thing. It seems a shame not to use it.</font></pre>
<pre style="color:rgb(0,0,0)"><font face="arial, helvetica, sans-serif">Discussion Period: 2 weeks</font></pre></span></pre>
</div><div><span>_______________________________________________</span><br><span>Libraries mailing list</span><br><span><a href="mailto:Libraries@haskell.org">Libraries@haskell.org</a></span><br><span><a href="http://www.haskell.org/mailman/listinfo/libraries">http://www.haskell.org/mailman/listinfo/libraries</a></span><br></div></body></html>