
Hello, I defined a type Pixel : data Pixel = Black | White deriving (Eq, Show) and would like to "show" it as show :: Pixel -> String show Black = "#" show White = "." Apparently, ghc finds this ambiguous. That seems strange to me since Pixel is my own custom type and I don't imagine that ghc has another definition for showing it. Isn't this what "overloading" is supposed to enable? I can get around the problem by : import Prelude hiding(show) but that seems to drastic since it hides all the various overloaded incarnations of "show". I only need it to hide one of them (the one for Pixel). I'm obviously misunderstanding something. Is there a simple way to define my own show function for my own user defined data type? Thanks in advance. dan