import GHC import HscTypes (liftIO) import GHC.Paths (libdir) import Outputable (SDoc, showSDoc) ppr :: SDoc -> GhcT IO () ppr = liftIO . putStrLn . showSDoc main = runGhcT (Just libdir) $ do dlflags <- getSessionDynFlags setSessionDynFlags dlflags mod <- findModule (mkModuleName "Prelude") Nothing setContext [] [mod] exprType "length []" >>= ppr . pprParendType exprType "print" >>= ppr . pprParendType