diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-11-03 21:41:12 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-11-03 21:42:34 +0100 |
| commit | e26753be1ed978e20ceea5e284fddbbc29f0338e (patch) | |
| tree | 1a4d2720404ad6679774d9ffb36e3ff2d83d1a39 /lambda-calcul/haskell/src/Minilang/REPL | |
| parent | 16e0642ee4d09df1b032f8d30c7050cfac4d12f7 (diff) | |
| download | lambda-nantes-e26753be1ed978e20ceea5e284fddbbc29f0338e.tar.gz | |
handle language when loading program
Diffstat (limited to 'lambda-calcul/haskell/src/Minilang/REPL')
| -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'}) |
