On Wed, Apr 7, 2010 at 9:42 AM, Johan Tibell <span dir="ltr">&lt;<a href="mailto:johan.tibell@gmail.com">johan.tibell@gmail.com</a>&gt;</span>
 wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi Bas,<br>
<div class="im"><br>
On Wed, Apr 7, 2010 at 2:11 PM, Bas van Dijk &lt;<a href="mailto:v.dijk.bas@gmail.com">v.dijk.bas@gmail.com</a>&gt; wrote:<br>
&gt; Of course that problem can also be solved by exporting these 
trivial<br>
&gt; compositions from a different module from which the primitives are<br>
&gt; exported. However some of these trivial compositions are so useful<br>
&gt; that users tend to always include both the primitive module and the<br>
&gt; helper module, thereby defeating the purpose of the split modules a<br>
&gt; bit.<br>
<br>
</div>Adding more modules also add more complexity.<br></blockquote><br>I would argue that adding one function to a module that only exports a single method that is already available through Control.Applicative is hardly breaking its complexity budget. ;)<br>
<div> </div><blockquote style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;" class="gmail_quote">While
 documentation certainly helps it doesn&#39;t solve the whole<br>
problem. The API is still bigger, there are more things to read and<br>
understand. More operators also make user code harder to understand<br>
and I think we should only use operators (and only a minimal amount of<br>
them) for very fundamental operations (like arithmetic). Functors are<br>
fundamental to they deserve an operator for fmap, &lt;$&gt;, as learning<br>
what it means pays off in the long run if it&#39;s used frequently. If an<br>
operator would only be used infrequently it&#39;s a good argument for<br>
using a more descriptive function name instead of an operator.<br></blockquote>
<br>I&#39;m more surprised that this combinator of this sort is NOT already present and since the applicative equivalent is present in Control.Applicative explaining away its absence is harder than justifying its inclusion.<br>
<br>+1 from me.<br><br>-Edward Kmett<br>