<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2017-04-03 23:14 GMT+02:00 Nathan Bouscal <span dir="ltr"><<a href="mailto:nbouscal@gmail.com" target="_blank">nbouscal@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-">On Mon, Apr 3, 2017 at 1:48 PM, Sven Panne <span dir="ltr"><<a href="mailto:svenpanne@gmail.com" target="_blank">svenpanne@gmail.com</a>></span> wrote:<br></span><span class="gmail-"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-m_7300572037109317469gmail-"><div>Tuples *are* unbiased, the bias is just an artifact of seeing them as a curried function, where the positions are "eaten" from left to right. Again, this mathematically correct, but more often than not the main intent of using a tuple-<br></div></span><span class="gmail-m_7300572037109317469gmail-"><div> </div></span></div></div></div></blockquote><div><br></div></span><span class="gmail-"><div><div style="font-size:13.5135px">… no, they're not. What other type of correct is there than mathematically correct? "Zero <i>isn't</i> an integer, that's just an artifact of *seeing* it as an integer."</div></div></span></div></div></div></blockquote><div><br></div><div>Tuples are unbiased cartesian products, full stop. All the left bias is coming from currying. If you have a signature of e.g.:</div><div><br></div><div>   fobar :: Int -> (a, b) -> Float -> Bar</div><div><br></div><div>I can't see any bias here. OTOH:</div><div><br></div><div><div>   fobar' :: Int -> a -> b -> Float -> Bar</div></div><div><br></div><div>Now you have a left bias, because you can partially apply foobar' with e.g. 2 arguments, "eating away" the 'a', but keeping the 'b'.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-"><div><div style="font-size:13.5135px">You can't get tuples to behave like they're unbiased. You can try to hide the fact that they're biased by getting rid of the only possible instances they can support, but that doesn't magically make them unbiased.</div></div></span></div></div></div></blockquote><div><br></div><div>Again, tuples are unbiased, you just put an interpretation onto them which is induced by currying, but which is not the intuitive one. I want to get rid of that interpretation as the default one, because that's a miscommunication of intents (see previous post).</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class="gmail-"><div><div style="font-size:13.5135px"> It sounds like you just want to rename tuples to Decorated. Maybe that's a good idea, but call it what it is.</div></div></span></div></div></div></blockquote><div><br></div><div>Nope, my proposal is: Keep tuples what they are (unbiased heterogenous collections) and make any bias explicit (Decorated).</div></div></div></div>