<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2017-04-06 9:33 GMT+02:00 Jon Fairbairn <span dir="ltr"><<a href="mailto:jon.fairbairn@cl.cam.ac.uk" target="_blank">jon.fairbairn@cl.cam.ac.uk</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Sven Panne <<a href="mailto:svenpanne@gmail.com">svenpanne@gmail.com</a>> writes:<br>[...] Although something like Error/OK would have been better than<br>
> Left/Right, a slight majority preferred to give a bias to Either. The<br>
> reasoning was that using "Right" for a "wrong" outcome (i.e. failure) would<br>
> be a bit obscure, and there was already quite some code using it in the way<br>
> we still do today. The bias is even explicitly documented in the Haddock<br>
> docs for Data.Either for ages, so it would not be very wise to change the<br>
> meaning here after roughly 2 decades.<br>
<br>
</span>I guess this means that Haskell has failed to sufficiently avoid<br>
success. If a mistake in library design is bad enough (not<br>
necessarily the case for Either, but arguably so), it should be<br>
corrected even after 20 years.<br></blockquote><div><br></div><div>Just to clarify my POV: I didn't want to criticize anything here, I just wanted to point to some previous discussion. In my POV, Either *is* intended as a biased sum type (there are tons of more or less standard libraries which use it that way), while pairs/tuples are intended as unbiased product types. Of course one can see it in the exact opposite (still consistent) way, but this wasn't the historical intention, at least that's my personal interpretation...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
> Of course the question remains: What is the totally unbiased standard sum<br>
> type for 2 alternatives?<br>
<br>
</span>What are you asking? It sounds like an invitation to bikeshed!<br>
In general, though, types such as (,) and Either should be used<br>
very sparingly. In many cases it would be better to define a new<br>
type for the specific purpose.<br></blockquote><div><br></div><div>I think we are in the same boat here, sorry if I didn't make that clear.</div></div></div></div>