Maybe I've missed the essence of this discussion, but I seem to see to opposite sentiments running through.  One is to create additional, *specialized* (for "->") names for existing general arrow operators, rather than using the generalized versions, citing simpler error messages.  The other thread is regret over th Haskell 98 committee having done just this kind of specialization (dumbing down) for monads vs lists.
<br><br>My personal vote is for generality of the language &amp; libraries, and address the newbie issue with training-wheels prelude &amp; libs or something like Jon&#39;s &quot;subsumes&quot; proposal.<br><br>People may say that generality of functions like &quot;first&quot; &amp; &quot;second&quot; is unnecessary for their purposes.&nbsp; Personally, I sometimes find that such &quot;unnecessary&quot; generality leads me to discover that an idea I&#39;m working on is much more general (and therefore useful to others) than I&#39;d originally imagined.
<br><br>I agree that the names &quot;onFst&quot; and &quot;onSnd&quot; are easier to interpret than &quot;first&quot; and &quot;second&quot;.&nbsp; So let&#39;s use those names for the general (Arrow) versions, rather than the specializations.
<br><br>Comments?<br><br>Cheers,&nbsp; - Conal<br><br><div><span class="gmail_quote">On 9/20/07, <b class="gmail_sendername"><a href="mailto:ajb@spamcop.net">ajb@spamcop.net</a></b> &lt;<a href="mailto:ajb@spamcop.net">ajb@spamcop.net
</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">G&#39;day all.<br><br>Quoting Stefan O&#39;Rear &lt;<a href="mailto:stefanor@cox.net">
stefanor@cox.net</a>&gt;:<br><br>&gt; The reason ++ and mplus is so similar is that they used to be the same;<br>&gt; (++) *was* the MonadPlus class member.&nbsp;&nbsp;Cale Gibbard explains this as<br>&gt; {{{Quite a few people on the Haskell 98 committee had an irrational fear
<br>&gt; of polymorphism.}}}<br><br>That&#39;s a slight exaggeration.&nbsp;&nbsp;They actually had nightmares involving<br>trying to explain to their undergraduate students what the inevitable<br>type error messages meant.<br><br>At a time when Haskell was mostly a teaching/research language, this made
<br>a certain amount of sense.&nbsp;&nbsp;Now that Haskell is officially Cool(tm), the<br>argument is much weaker.<br><br>Cheers,<br>Andrew Bromage<br>_______________________________________________<br>Libraries mailing list<br><a href="mailto:Libraries@haskell.org">
Libraries@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/libraries">http://www.haskell.org/mailman/listinfo/libraries</a><br></blockquote></div><br>