-}
import Monad
+import System.Environment
+
import Core
import Printer
import Parser
FailP s -> do putStrLn ("Parse failed: " ++ s)
error "quit"
-main = do (_,modules) <- foldM process (initialEnv,[]) flist
+main = do fname <- getSingleArg
+ (_,modules) <- foldM process (initialEnv,[]) [fname] -- flist
let result = evalProgram modules
putStrLn ("Result = " ++ show result)
putStrLn "All done"
-- TODO
- where flist = ["PrelBase.hcr",
+-- see what breaks
+ where flist = ["Main.hcr"]
+ getSingleArg = getArgs >>= (\ a ->
+ case a of
+ (f:_) -> return f
+ _ -> error $ "usage: ./Driver [filename]")
+{-
+ ["PrelBase.hcr",
"PrelMaybe.hcr",
"PrelTup.hcr",
"PrelList.hcr",
"Prelude.hcr",
"Main.hcr" ]
+-}
\ No newline at end of file