diff options
Diffstat (limited to 'app/Frontend.hs')
| -rw-r--r-- | app/Frontend.hs | 14 |
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 |
