it might be more clear if IO had a show instance like instance (Typeable b) => Show (IO b) where show (x:: IO a) = "<< IO action producing a " ++ (show $ typeOf (undefined :: a)) ++ " >>"
then print $ getChar prints << IO action producing a Char >> of course this may not be feasable for all implemenations if they don't autoderive Typeable... John -- --------------------------------------------------------------------------- John Meacham - California Institute of Technology, Alum. - [EMAIL PROTECTED] --------------------------------------------------------------------------- _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe