main :: IO ()
main = do
    args <- S.getArgs
    if not (null args) then do
        let file:_ = args

        prog <- parseProgramFromFile file
        let prettyprog = prettyProgram prog
            lambdaprog = lambdaLift prog

        putStrLn prettyprog
        breakln
        putStrLn $ prettyProgram lambdaprog
        breakln
        printEval lambdaprog
    else do
        putStrLn "Need a file to parse."
        return ()
main :: IO ()
main = do
    args <- S.getArgs
    if not (null args) then do
        let file:_ = args

        prog <- parseProgramFromFile file
        let prettyprog = prettyProgram prog
            lambdaprog = lambdaLift prog

        putStrLn prettyprog
        breakln
        putStrLn $ prettyProgram lambdaprog
        breakln
        printEval lambdaprog
    else do
        putStrLn "Need a file to parse."
        return ()
main = do
    args <- S.getArgs
    if not (null args) then do
        let file:_ = args

        prog <- parseProgramFromFile file
        let prettyprog = prettyProgram prog
            lambdaprog = lambdaLift prog

        putStrLn prettyprog
        breakln
        putStrLn $ prettyProgram lambdaprog
        breakln
        printEval lambdaprog
    else do
        putStrLn "Need a file to parse."
        return ()