[Haskell-cafe] Reverse Show instance
daniel.is.fischer at googlemail.com
Thu May 19 23:26:41 CEST 2011
On Thursday 19 May 2011 23:15:06, Andrew Coppin wrote:
> On 19/05/2011 10:11 PM, Artyom Kazak wrote:
> > And I can declare an instance for (x, y) which does NOT implies (Show
> > x):
> > instance Show (x, y) where
> > show _ = "I'm tuple! Hooray!"
> Ah. So it's a feature.
> Fortunately I refactored the program where this came up, so it's no
> longer an issue. I just wanted to see whether or not it was a bug.
> PS. Wouldn't such an instance require FlexibleContexts or something?
No, the instance head is a type constructor applied to two distinct type
variables, it's a perfectly valid H98 instance declaration.
It won't be accepted though, because there is already
instance (Show x, Show y) => Show (x,y) where ...
I think basically the only way to make GHC accept the above instance
involves NoImplicitPrelude (but I may be wrong).
More information about the Haskell-Cafe