2024-12-18 18:55:51 -06:00
|
|
|
module Main where
|
|
|
|
|
2024-12-29 20:29:41 -06:00
|
|
|
import Eval (evalTricu, result)
|
|
|
|
import Library (library)
|
|
|
|
import Parser (parseTricu)
|
|
|
|
import REPL (repl)
|
|
|
|
import Research (T)
|
2024-12-18 18:55:51 -06:00
|
|
|
|
|
|
|
import Text.Megaparsec (runParser)
|
|
|
|
|
2024-12-29 20:29:41 -06:00
|
|
|
import qualified Data.Map as Map
|
|
|
|
|
2024-12-18 18:55:51 -06:00
|
|
|
main :: IO ()
|
2024-12-27 19:27:04 -06:00
|
|
|
main = do
|
2024-12-29 10:28:32 -06:00
|
|
|
putStrLn "Welcome to the tricu Interpreter"
|
2024-12-27 19:27:04 -06:00
|
|
|
putStrLn "You can exit at any time by typing and entering: "
|
|
|
|
putStrLn ":_exit"
|
|
|
|
repl library
|
2024-12-27 12:27:00 -06:00
|
|
|
|
2024-12-29 08:29:25 -06:00
|
|
|
runTricu :: String -> T
|
|
|
|
runTricu s = result (evalTricu Map.empty $ parseTricu s)
|
|
|
|
runTricuEnv env s = result (evalTricu env $ parseTricu s)
|