@@ -45,10 +45,9 @@ proof (ES (p, _) _ _) = p
45proofFail :: Elab' aux a -> Elab' aux a
45proofFail :: Elab' aux a -> Elab' aux a
46proofFail e = do s <- get
46proofFail e = do s <- get
47 case runStateT e s of
47 case runStateT e s of
48− OK (a, s') -> trace ("OK ACTUALLY") $
49− do put s'
48+ OK (a, s') -> do put s'
51− Error err -> trace "BAD" $ lift $ Error (ProofSearchFail err)
50+ Error err -> lift $ Error (ProofSearchFail err)
53saveState :: Elab' aux ()
52saveState :: Elab' aux ()
54saveState = do e@(ES p s _) <- get
53saveState = do e@(ES p s _) <- get
@@ -65,6 +64,8 @@ erun f elab = do s <- get
65 case runStateT elab s of
64 case runStateT elab s of
66 OK (a, s') -> do put s'
65 OK (a, s') -> do put s'
67+ Error (ProofSearchFail (At f e))
68+ -> lift $ Error (ProofSearchFail (At f e))
68 Error (At f e) -> lift $ Error (At f e)
69 Error (At f e) -> lift $ Error (At f e)
69 Error e -> lift $ Error (At f e)
70 Error e -> lift $ Error (At f e)
@@ -528,7 +529,7 @@ try' t1 t2 proofSearch
528 where recoverableErr err@(CantUnify r _ _ _ _ _)
529 where recoverableErr err@(CantUnify r _ _ _ _ _)
529 = -- traceWhen r (show err) $
530 = -- traceWhen r (show err) $
530 r || proofSearch
531 r || proofSearch
531− recoverableErr (ProofSearchFail _) = trace "FAILED" $ False
532+ recoverableErr (ProofSearchFail _) = False
532 recoverableErr _ = True
533 recoverableErr _ = True
534tryWhen :: Bool -> Elab' aux a -> Elab' aux a -> Elab' aux a
535tryWhen :: Bool -> Elab' aux a -> Elab' aux a -> Elab' aux a