diff options
Diffstat (limited to 'lambda-calcul/haskell/src/Minilang/REPL/Run.hs')
| -rw-r--r-- | lambda-calcul/haskell/src/Minilang/REPL/Run.hs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lambda-calcul/haskell/src/Minilang/REPL/Run.hs b/lambda-calcul/haskell/src/Minilang/REPL/Run.hs index 7dc8e81..37d4dd2 100644 --- a/lambda-calcul/haskell/src/Minilang/REPL/Run.hs +++ b/lambda-calcul/haskell/src/Minilang/REPL/Run.hs @@ -70,10 +70,9 @@ handleCommand (Load (Data prog)) = loadProgramInEnv prog handleCommand (Set (StepTypeChecker st)) = getEnv >>= \e -> setEnv (e {stepTypeCheck = st}) handleCommand (Set (DebugParser st)) = getEnv >>= \e -> setEnv (e {debugParser = st}) handleCommand (Set (SelectLanguage lang)) = - trace ("selecting language " ++ show lang) $ - getEnv >>= \e -> - setEnv (e {language = lang}) - >> output (Msg $ "Language set to " <> pack (show lang)) + getEnv >>= \e -> + setEnv (e {language = lang}) + >> output (Msg $ "Language set to " <> pack (show lang)) handleCommand Help = output (Msg helpText) @@ -82,11 +81,11 @@ loadProgramInEnv :: Text -> m () loadProgramInEnv prog = do - repl@REPLEnv {env, context} <- getEnv + repl@REPLEnv {env, context, language} <- getEnv case parse prog of Left err -> output (Msg $ pack $ show err) Right e -> do - case loadProgram e env context of + case loadProgram language e env context of Left typeError -> output (Msg $ pack $ show typeError) Right (term, typ, env', context') -> do setEnv (repl {env = env', context = context'}) |
