The class name should appear before the type in the instance declaration. You also need to delete the offer deriving, as you are providing your own instance instead of using the one that was automatically received. You also need to add parentheses around one argument to show, otherwise it looks like 3 arguments to the parser.
data II = I Int Int
instance Show II where
show (I a b) = show (a+b)
source
share