ok, based on the :settings you were using, there's a couple of things going on here: * you were using the internal printer to print results and not "show", which explains why your Show instance isn't being used (you control whether or not to use "show" to print results via the 'u' toggle.) * the internal printer doesn't print out the 'tag' of a newtype value, as that piece of information is by then gone. This is arguably a printer bug, but I'm not proposing/volunteering to fix it (at least not right now.) hth --sigbjorn ----- Original Message ----- From: "Shawn P. Garbett" <Shawn@Garbett.org> To: <hugs-bugs@haskell.org> Cc: "Dean Herington" <heringto@cs.unc.edu> Sent: Thursday, January 31, 2002 06:39 Subject: Bug in show instance
The following code generates some unexpected behavior (at least to me) in hugs (Feburary 2001: hugs 98 compatibility)
- ----------------------------------- main = print(show test)
newtype Out a = MkOut (String, a)
instance (Show a) => Show (Out a) where show (MkOut (x,y)) = x ++ " value: " ++ show y
test = MkOut("Blah\nBlah", 4) - --------------------------------------
Hugs Output:
Main> test ("Blah\nBlah",4) (20 reductions, 55 cells) Main>
- ------------------------------
GHCi (and expected output):
Main> test Blah Blah value: 4 Main>
participants (1)
-
Sigbjorn Finne