
import IO (hFlush, stdout)

import Eval
import Parser
import Value

main = do
    putStr ">> "
    hFlush stdout
    line <- getLine
    if line == ""
        then return ()
        else do
            case readExpr line of
                Left err -> putStrLn err
                Right val -> case eval val [] of
                    Left err -> putStrLn err
                    Right (val', e) -> putStrLn $ showVal val
            main

