mueval 0.6 → 0.6.1
raw patch · 2 files changed
+10/−6 lines, 2 filesdep +filepath
Dependencies added: filepath
Files
- Mueval/Interpreter.hs +8/−4
- mueval.cabal +2/−2
Mueval/Interpreter.hs view
@@ -5,6 +5,7 @@ import qualified Control.Exception (catch) import Control.Monad.Trans (liftIO) import System.Directory (copyFile, makeRelativeToCurrentDirectory, removeFile)+import System.FilePath.Posix (takeFileName) import Language.Haskell.Interpreter.GHC (eval, newSession, reset, setImports, loadModules, setOptimizations, setUseLanguageExtensions, setInstalledModsAreInScopeQualified,@@ -50,11 +51,13 @@ liftIO Mueval.Resources.limitResources - when doload $ do loadModules [lfl]+ when doload $ do+ let lfl' = takeFileName lfl+ loadModules [lfl'] -- We need to mangle the String to -- turn a filename into a -- module- setTopLevelModules [(takeWhile (/='.') lfl)]+ setTopLevelModules [(takeWhile (/='.') lfl')] setImports modules @@ -84,9 +87,10 @@ (newSession >>= (flip withSession) (interpreter prt exts mds lfl expr)) (\_ -> do case lfl of "" -> return ()- l -> removeFile l+ l -> do canonfile <- (makeRelativeToCurrentDirectory l)+ removeFile ("/tmp/" ++ takeFileName canonfile) error "Expression did not compile.") mvload :: FilePath -> IO () mvload lfl = do canonfile <- (makeRelativeToCurrentDirectory lfl)- liftIO $ copyFile canonfile ("/tmp/" ++ canonfile)+ liftIO $ copyFile canonfile ("/tmp/" ++ (takeFileName canonfile))
mueval.cabal view
@@ -1,5 +1,5 @@ name: mueval-version: 0.6+version: 0.6.1 license: BSD3 license-file: LICENSE@@ -31,7 +31,7 @@ library exposed-modules: Mueval.Concurrent, Mueval.Context, Mueval.Interpreter, Mueval.ParseArgs, Mueval.Resources- build-depends: base, directory, mtl, unix, hint>=0.2.4, show>=0.3, utf8-string+ build-depends: base, directory, mtl, filepath, unix, hint>=0.2.4, show>=0.3, utf8-string ghc-options: -Wall -static executable mueval