aboutsummaryrefslogtreecommitdiff
path: root/src/main.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.hs')
-rw-r--r--src/main.hs69
1 files changed, 33 insertions, 36 deletions
diff --git a/src/main.hs b/src/main.hs
index 569ba28..49aeb00 100644
--- a/src/main.hs
+++ b/src/main.hs
@@ -1,42 +1,39 @@
import System.IO
-import Statement
-import Parser.Statement
import Parser.Core
-import Statement
-import Assignment
import Expr
-import Evaluation
-main = promptLoop []
+main = return ()
-promptLoop :: Context -> IO ()
-promptLoop context = do
- line <- prompt
- if line /= "exit"
- then loop line context >>= promptLoop
- else return ()
-
-loop :: String -> Context -> IO Context
-loop line context = do s <- parseIO line
- context <- printStatement s context
- putStrLn $ show context
- return context
-
-prompt :: IO String
-prompt = do putStr "> "
- hFlush stdout
- getLine
-
-parseIO :: String -> IO Statement
-parseIO input = case parseStrict statementP input of
- Nothing -> fail "Couldn't parse input"
- Just s -> return s
-
-printStatement :: Statement -> Context -> IO Context
-printStatement (SAssignment a) context = do putStrLn $ show a
- return $ update context a
-printStatement (SExpr e) context = do putStrLn evalStr
- return context
- where evalStr = case eval context e of Nothing -> "Couldn't evaluate expression"
- Just a -> show a
+-- main = promptLoop []
+--
+-- promptLoop :: Context -> IO ()
+-- promptLoop context = do
+-- line <- prompt
+-- if line /= "exit"
+-- then loop line context >>= promptLoop
+-- else return ()
+--
+-- loop :: String -> Context -> IO Context
+-- loop line context = do s <- parseIO line
+-- context <- printStatement s context
+-- putStrLn $ show context
+-- return context
+--
+-- prompt :: IO String
+-- prompt = do putStr "> "
+-- hFlush stdout
+-- getLine
+--
+-- parseIO :: String -> IO Statement
+-- parseIO input = case parseStrict statementP input of
+-- Nothing -> fail "Couldn't parse input"
+-- Just s -> return s
+--
+-- printStatement :: Statement -> Context -> IO Context
+-- printStatement (SAssignment a) context = do putStrLn $ show a
+-- return $ update context a
+-- printStatement (SExpr e) context = do putStrLn evalStr
+-- return context
+-- where evalStr = case eval context e of Nothing -> "Couldn't evaluate expression"
+-- Just a -> show a