module Data.Array.Repa.Plugin.Pass.Dump (passDump) where import Data.Array.Repa.Plugin.GHC.Pretty import DDC.Base.Pretty import HscTypes import CoreMonad import System.IO.Unsafe import Control.Monad -- | Dump a module. passDump :: [CommandLineOption] -> String -> ModGuts -> CoreM ModGuts passDump options name guts = unsafePerformIO $ do when (elem "dump" options) $ writeFile ("dump." ++ name ++ ".hs") $ render RenderIndent (pprModGuts guts) return (return guts)