2024-12-18 18:55:51 -06:00
|
|
|
module Main where
|
|
|
|
|
|
|
|
import Eval
|
|
|
|
import Lexer
|
2024-12-27 16:30:32 -06:00
|
|
|
import Library
|
2024-12-18 18:55:51 -06:00
|
|
|
import Parser
|
2024-12-20 11:38:09 -06:00
|
|
|
import REPL (repl)
|
2024-12-18 18:55:51 -06:00
|
|
|
import Research
|
|
|
|
|
2024-12-27 08:17:06 -06:00
|
|
|
import qualified Data.Map as Map
|
2024-12-18 18:55:51 -06:00
|
|
|
import Text.Megaparsec (runParser)
|
|
|
|
|
|
|
|
main :: IO ()
|
2024-12-27 19:27:04 -06:00
|
|
|
main = do
|
|
|
|
putStrLn "Welcome to the Sapling Interpreter"
|
|
|
|
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-27 20:46:30 -06:00
|
|
|
runSapling :: String -> T
|
|
|
|
runSapling s = result (evalSapling Map.empty $ parseSapling s)
|
|
|
|
runSaplingEnv env s = result (evalSapling env $ parseSapling s)
|