module IPPrint(pprint) where

import Language.Haskell.Parser
import Language.Haskell.Pretty

pprint :: Show a => a -> IO ()
pprint v =  putStrLn $
            case parseModule ("value = "++show v) of
              ParseOk         m   -> dropWhile (/='\n') $ prettyPrint m
              ParseFailed pos err -> show pos ++ ": " ++  err