diff options
Diffstat (limited to 'unlambda.hs')
-rw-r--r-- | unlambda.hs | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/unlambda.hs b/unlambda.hs deleted file mode 100644 index b06b42f..0000000 --- a/unlambda.hs +++ /dev/null @@ -1,30 +0,0 @@ - -import System.Environment( getArgs ) -import Control.Exception( ErrorCall(..), Handler(..), catches ) -import Unlambda.Parser -import Unlambda.Interpreter - - - - -usageString :: String -usageString = "Usage: unlambda <program file>" - - - -program :: IO () -program = do - args <- getArgs - fileContents <- if (length args /= 1) - then error usageString - else readFile (head args) - - case (parseUnlambda fileContents) of - Left x -> putStrLn (show x) - Right x -> unlambda x >>= putStrLn . show - - - -main = catches program - [ Handler ((\e -> putStrLn . show $ e) :: ErrorCall -> IO ()) ] - |