
Hi, On 04/03/2017 10:14 PM, Nathan Bouscal wrote:
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. It sounds like you just want to rename tuples to Decorated. Maybe that's a good idea, but call it what it is.
While I (so far) disagree, I am trying to fully appreciate this argument. The reason is that it seems to me that the above has more to do with specific syntactic details regarding instance declarations for partially applied type constructors, than with what (in this case) tuples fundamentally are in Haskell: essentially Cartesian products. For the sake of argument, suppose some mechanism were adopted to mitigate the bias implied by the (inevitable) ordering of arguments to to type constructors. For tuples, we might imagine some kind of notation inspired by operator sections as a first step, making the following instance declaration possible: instance Functor (,b) where ... Would tuples then still be biased in the above sense, and if so why? Best, /Henrik This message and any attachment are intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to me, and immediately delete it. Please do not use, copy or disclose the information contained in this message or in any attachment. Any views or opinions expressed by the author of this email do not necessarily reflect the views of the University of Nottingham. This message has been checked for viruses but the contents of an attachment may still contain software viruses which could damage your computer system, you are advised to perform your own checks. Email communications with the University of Nottingham may be monitored as permitted by UK legislation.