From 2b0b62b44a87536597050c525322c7bcc745bdb2 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 3 Jun 2020 22:57:10 +0200 Subject: Added polynom solver from computorv1, Added matrix multipilcation --- src/main.hs | 52 ---------------------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 src/main.hs (limited to 'src/main.hs') diff --git a/src/main.hs b/src/main.hs deleted file mode 100644 index 58c8ea7..0000000 --- a/src/main.hs +++ /dev/null @@ -1,52 +0,0 @@ -import Data.Char -import qualified Data.Map as M -import System.IO - -import Evaluation as E -import Expr -import Parser.Core -import Parser.Expr -import Parser.Statement - - -main :: IO () -main = promptLoop (Context M.empty M.empty) - -promptLoop :: Context -> IO () -promptLoop context = do - putStr "> " - hFlush stdout - line <- getLine - return () - if line /= "q" - then loop line context >>= promptLoop - else return () - -loop :: String -> Context -> IO Context -loop input context = - do - statement <- case runParserStrict statementP (filter (not . isSpace) input) of - Left err -> fail ("Error: " ++ err) - Right s -> return s - Main.eval context statement - - -eval :: Context -> Statement -> IO Context - -eval c (Evaluation e) = do case E.eval c e of - Just evaluated -> putStrLn $ show evaluated - Nothing -> putStrLn "Error: couldn't evaluate expression" - return c - -eval (Context vars funcs) (VariableDeclaration name e) = - case E.eval context e of - Just evaluated -> return $ Context (M.insert name e vars) funcs - Nothing -> putStrLn "Error: couldn't evaluate expression" >> return context - where context = Context vars funcs - -eval (Context vars funcs) (FunctionDeclaration name argName e) = - -- case E.eval context e of - -- Just evaluated -> return $ Context vars (M.insert name (argName, e) funcs) - -- Nothing -> putStrLn "Error: couldn't evaluate expression" >> return context - return $ Context vars (M.insert name (argName, e) funcs) - -- where context = Context vars funcs -- cgit