feat: add commitIfNoEx

This commit is contained in:
Leonardo de Moura 2021-08-17 21:27:40 -07:00
parent e04976614f
commit bb755d6245

View file

@ -37,6 +37,14 @@ export MonadBacktrack (saveState restoreState)
restoreState s
throw ex
@[specialize] def commitIfNoEx [Monad m] [MonadBacktrack s m] [MonadExcept ε m] (x : m α) : m α := do
let s ← saveState
try
x
catch ex =>
restoreState s
throw ex
@[specialize] def withoutModifyingState [Monad m] [MonadFinally m] [MonadBacktrack s m] (x : m α) : m α := do
let s ← saveState
try