module Main (main) where import System.Directory (getCurrentDirectory) import System.Environment (getArgs, getEnv) import System.Exit (exitWith) import System.Process (spawnProcess, waitForProcess) import System.IO (openFile, hClose, hPutStrLn, IOMode(..)) main :: IO () main = do args <- getArgs output_file <- getEnv "HIE_BIOS_OUTPUT" case args of "--interactive":_ -> do h <- openFile output_file AppendMode getCurrentDirectory >>= hPutStrLn h mapM_ (hPutStrLn h) args hClose h _ -> do ph <- spawnProcess "ghc" (args) code <- waitForProcess ph exitWith code