summaryrefslogtreecommitdiff
path: root/app/Frontend.hs
diff options
context:
space:
mode:
Diffstat (limited to 'app/Frontend.hs')
-rw-r--r--app/Frontend.hs14
1 files changed, 8 insertions, 6 deletions
diff --git a/app/Frontend.hs b/app/Frontend.hs
index a17a85c..1adf39b 100644
--- a/app/Frontend.hs
+++ b/app/Frontend.hs
@@ -45,13 +45,15 @@ interpret = (>> return True) . lex
Left err -> liftIO $ putStrLn $ "expression parsing: " ++ err
Right prlg -> intern prlg
intern prlgs = do
- prlgi <- withStrTable $ \st -> C.internPrlg (C.varnames prlgs) st prlgs
- compile prlgi
- compile prlgi
- {- TODO: switch between prove goal/compile clause here -}
- = do
+ prlgi <- withStrTable $ \st -> C.internPrlg st prlgs
+ underscore <- findAtom "_"
+ prlgv <-
+ withStrTable $ \st ->
+ (st, C.variablizePrlg underscore (C.varIds st prlgi) prlgi)
+ compile prlgv
+ compile prlgv = do
commaId <- findStruct "," 2
- let code = C.seqGoals $ C.compileGoals commaId prlgi
+ let code = C.seqGoals $ C.compileGoals commaId prlgv
execute code
execute code = do
ds <- gets defs