X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=c%CE%BBash%2FCLasH%2FUtils%2FGhcTools.hs;h=3f032d901203325fb52cac1dd3ebef6541a8ccec;hb=04de89474351850ea9dca0350fa383f1b2aff8ea;hp=9c5038cfd42586ba8ccd6c7b1aca998d06a8b7b7;hpb=ec4378a8a765c5a064b5cbed347b40c353c778a0;p=matthijs%2Fmaster-project%2Fc%CE%BBash.git diff --git "a/c\316\273ash/CLasH/Utils/GhcTools.hs" "b/c\316\273ash/CLasH/Utils/GhcTools.hs" index 9c5038c..3f032d9 100644 --- "a/c\316\273ash/CLasH/Utils/GhcTools.hs" +++ "b/c\316\273ash/CLasH/Utils/GhcTools.hs" @@ -1,10 +1,9 @@ -module GhcTools where +module CLasH.Utils.GhcTools where -- Standard modules import qualified System.IO.Unsafe -- GHC API import qualified GHC -import qualified GHC.Paths import qualified DynFlags import qualified TcRnMonad import qualified MonadUtils @@ -26,19 +25,19 @@ setDynFlag dflag = do -- don't have side effects themselves (Or rather, that don't use -- unsafePerformIO themselves, since normal side effectful function would -- just return an IO monad when they are evaluated). -unsafeRunGhc :: GHC.Ghc a -> a -unsafeRunGhc m = - System.IO.Unsafe.unsafePerformIO $ - GHC.runGhc (Just GHC.Paths.libdir) $ do +unsafeRunGhc :: FilePath -> GHC.Ghc a -> a +unsafeRunGhc libDir m = + System.IO.Unsafe.unsafePerformIO $ do + GHC.runGhc (Just libDir) $ do dflags <- GHC.getSessionDynFlags GHC.setSessionDynFlags dflags m -runTcM :: TcRnMonad.TcM a -> IO a -runTcM thing_inside = do - GHC.runGhc (Just GHC.Paths.libdir) $ do - dflags <- GHC.getSessionDynFlags - GHC.setSessionDynFlags dflags - env <- GHC.getSession - HscTypes.ioMsgMaybe . MonadUtils.liftIO . TcRnMonad.initTcPrintErrors env PrelNames.iNTERACTIVE $ do - thing_inside +-- runTcM :: TcRnMonad.TcM a -> IO a +-- runTcM thing_inside = do +-- GHC.runGhc (Just GHC.Paths.libdir) $ do +-- dflags <- GHC.getSessionDynFlags +-- GHC.setSessionDynFlags dflags +-- env <- GHC.getSession +-- HscTypes.ioMsgMaybe . MonadUtils.liftIO . TcRnMonad.initTcPrintErrors env PrelNames.iNTERACTIVE $ do +-- thing_inside