From 16e0642ee4d09df1b032f8d30c7050cfac4d12f7 Mon Sep 17 00:00:00 2001 From: Arnaud Bailly Date: Mon, 3 Nov 2025 21:22:52 +0100 Subject: Handle :lang in REPL --- lambda-calcul/haskell/src/Minilang/REPL/Run.hs | 8 ++++++-- lambda-calcul/haskell/src/Minilang/REPL/Types.hs | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'lambda-calcul/haskell/src') diff --git a/lambda-calcul/haskell/src/Minilang/REPL/Run.hs b/lambda-calcul/haskell/src/Minilang/REPL/Run.hs index 2282b46..7dc8e81 100644 --- a/lambda-calcul/haskell/src/Minilang/REPL/Run.hs +++ b/lambda-calcul/haskell/src/Minilang/REPL/Run.hs @@ -60,7 +60,7 @@ handleCommand :: handleCommand ClearEnv = getEnv >>= \e -> setEnv (e {env = newEnv, context = newContext}) handleCommand DumpEnv = getEnv >>= \REPLEnv {..} -> - output (CurrentEnv env context) + output (CurrentEnv env context language) handleCommand (Load (File file)) = do t <- load file case t of @@ -69,7 +69,11 @@ handleCommand (Load (File file)) = do 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)) = getEnv >>= \e -> setEnv (e {language = lang}) +handleCommand (Set (SelectLanguage lang)) = + trace ("selecting language " ++ show lang) $ + getEnv >>= \e -> + setEnv (e {language = lang}) + >> output (Msg $ "Language set to " <> pack (show lang)) handleCommand Help = output (Msg helpText) diff --git a/lambda-calcul/haskell/src/Minilang/REPL/Types.hs b/lambda-calcul/haskell/src/Minilang/REPL/Types.hs index 4e19c72..61e92e0 100644 --- a/lambda-calcul/haskell/src/Minilang/REPL/Types.hs +++ b/lambda-calcul/haskell/src/Minilang/REPL/Types.hs @@ -77,7 +77,7 @@ data Content data Out = Defined Text Term | Evaluated Term Type - | CurrentEnv Env Context + | CurrentEnv Env Context Language | Msg Text | Bye deriving (Eq, Show, Generic, ToJSON, FromJSON) -- cgit v1.3.1