diff options
| author | Jan Tuomi <jans.tuomi@gmail.com> | 2022-12-10 19:51:22 +0200 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2022-12-11 01:37:50 +0200 |
| commit | 421663406a5f259ee8e3d43009365c52186ffe31 (patch) | |
| tree | 2c05a1ca1e1dfb940c52c4782022dcc4aadc9052 /src | |
| parent | 9368bcb9897702ec86277505bf597066ceb83502 (diff) | |
Fix evaled expr result print order
Diffstat (limited to 'src')
| -rw-r--r-- | src/Interpreter.hs | 22 |
1 files 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 |
