From 421663406a5f259ee8e3d43009365c52186ffe31 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sat, 10 Dec 2022 19:51:22 +0200 Subject: Fix evaled expr result print order --- src/Interpreter.hs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Interpreter.hs b/src/Interpreter.hs index 41b2241..c899524 100644 --- a/src/Interpreter.hs +++ b/src/Interpreter.hs @@ -493,20 +493,20 @@ runInlineScript' lineNo fileName src = do evaluated <- foldEvaluate parsed - case configPrintEvaled config of - PrintEvaledAll -> liftIO $ mapM_ putStrLn (map show evaluated) - PrintEvaledNonUnit -> do - let evaledNonUnits = evaluated $> - filter (\case AST { an = ASTUnit } -> False - _ -> True) - liftIO $ mapM_ putStrLn (map show evaledNonUnits) - PrintEvaledOff -> return () - return evaluated where foldEvaluate :: [AST] -> LContext [AST] foldEvaluate [] = return [] foldEvaluate (ast:rest) = do - newAst <- evaluate ast + config <- getConfig + evaledAst <- evaluate ast + + liftIO $ case configPrintEvaled config of + PrintEvaledAll -> putStrLn $ show evaledAst + PrintEvaledNonUnit -> case evaledAst of + AST { an = ASTUnit } -> return () + _ -> putStrLn $ show evaledAst + PrintEvaledOff -> return () + restEvaled <- foldEvaluate rest - return $ newAst : restEvaled \ No newline at end of file + return $ evaledAst : restEvaled -- cgit v1.3