I usually have 'Use Show instance' switched off (aka use 'built-in printer'), so I can see (at least in crude form) imported or 'system' datatypes that don't have show instances/also it's a bit more revealing if I get exceptions.
I have a datatype: > data Tree a = Empty > | Leaf a > | Node (Tree a) a (Tree a) > deriving (Eq, Show, Read) For results of expressions that were `Node`s, the built-in printer just ignored the first field. (`show`/print of those values works fine.) > FoldableTree> myTree <> fdmap toUpper myTree > Node 'c' Empty > FoldableTree> print $ myTree <> fdmap toUpper myTree > Node (Node Empty 'A' (Node Empty 'C' (Leaf 'a'))) 'c' Empty Most disconcerting until I realised what was going on. (Of course I don't expect the built-in printer to produce pretty output). AntC
_______________________________________________ Hugs-Bugs mailing list Hugs-Bugs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/hugs-bugs