summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorMirek Kratochvil <exa.exa@gmail.com>2022-11-15 20:31:02 +0100
committerMirek Kratochvil <exa.exa@gmail.com>2022-11-15 20:31:02 +0100
commitfdf96f5a771c4e99e6064160c88072ebb63ca57f (patch)
treeb63ae6da02fcddbbc531524b3a58c11a32d1cc3a /app
parente074e454d5f8b5bc5dc45dccab1d138c5cd4ab0c (diff)
downloadprlg-fdf96f5a771c4e99e6064160c88072ebb63ca57f.tar.gz
prlg-fdf96f5a771c4e99e6064160c88072ebb63ca57f.tar.bz2
there's outputStrLn
Diffstat (limited to 'app')
-rw-r--r--app/Frontend.hs21
1 files changed, 10 insertions, 11 deletions
diff --git a/app/Frontend.hs b/app/Frontend.hs
index b1ae79a..eac4e89 100644
--- a/app/Frontend.hs
+++ b/app/Frontend.hs
@@ -33,16 +33,16 @@ interpret = (>> return True) . lex
where
lex input = do
case MP.parse P.lexPrlg "-" input of
- Left bundle -> liftIO $ putStr (MP.errorBundlePretty bundle)
+ Left bundle -> lift . outputStr $ MP.errorBundlePretty bundle
Right toks -> parse toks
parse toks = do
case MP.parse P.parsePrlg "-" toks of
- Left bundle -> liftIO $ putStr (MP.errorBundlePretty bundle)
+ Left bundle -> lift . outputStr $ MP.errorBundlePretty bundle
Right asts -> traverse_ shunt asts
shunt ast = do
o <- gets ops
case P.shuntPrlg o ast of
- Left err -> liftIO $ putStrLn $ "expression parsing: " ++ err
+ Left err -> lift . outputStrLn $ "expression parsing: " ++ err
Right prlg -> intern prlg
intern prlgs = do
prlgi <- withStrTable $ \st -> C.internPrlg st prlgs
@@ -58,14 +58,13 @@ interpret = (>> return True) . lex
execute code
execute code = do
res <- I.prove code
- case res of
- Left err -> liftIO $ putStrLn err
- Right res ->
- liftIO $
- putStrLn $
- if res
- then "yes."
- else "no proof."
+ lift . outputStrLn $
+ case res of
+ Left err -> err
+ Right res ->
+ if res
+ then "yes."
+ else "no proof."
interpreterStart :: PrlgEnv ()
interpreterStart = do