@@ -37,10 +37,12 @@ showProof lit n ps
3737 where bird = if lit then "> " else ""
3838 break = "\n" ++ bird
3939
40+proverSettings = defaultSettings -- TODO: Prover settings
41+
4042prove :: Context -> Bool -> Name -> Type -> Idris ()
4143prove ctxt lit n ty
4244 = do let ps = initElaborator n ctxt ty
43− (tm, prf) <- ploop True ("-" ++ show n) [] (ES (ps, []) "" Nothing)
45+ (tm, prf) <- runInputT proverSettings $ ploop True ("-" ++ show n) [] (ES (ps, []) "" Nothing)
4446 iLOG $ "Adding " ++ show tm
4547 iputStrLn $ showProof lit n prf
4648 i <- getIState
@@ -108,9 +110,9 @@ lifte :: ElabState [PDecl] -> ElabD a -> Idris a
108110lifte st e = do (v, _) <- elabStep st e
109111 return v
110112
111−ploop :: Bool -> String -> [String] -> ElabState [PDecl] -> Idris (Term, [String])
113+ploop :: Bool -> String -> [String] -> ElabState [PDecl] -> InputT Idris (Term, [String])
112114ploop d prompt prf e
113− = do i <- getIState
115+ = do i <- lift getIState
114116 when d $ liftIO $ dumpState i (proof e)
115117 x <- getInputLine (prompt ++ "> ")
116118 (cmd, step) <- case x of
@@ -119,7 +121,7 @@ ploop d prompt prf e
119121 case cmd of
120122 Right Abandon -> fail "Abandoned"
121123 _ -> return ()
122− (d, st, done, prf') <- idrisCatch
124+ (d, st, done, prf') <- lift $ idrisCatch
123125 (case cmd of
124126 Left err -> do iputStrLn (show err)
125127 return (False, e, False, prf)
@@ -140,7 +142,7 @@ ploop d prompt prf e
140142 return (True, st, False, prf ++ [step]))
141143 (\err -> do iputStrLn (show err)
142144 return (False, e, False, prf))
143− if done then do (tm, _) <- elabStep st get_term
145+ if done then do (tm, _) <- lift $ elabStep st get_term
144146 return (tm, prf')
145147 else ploop d prompt prf' st
146148