feat: add commitIfNoEx
This commit is contained in:
parent
e04976614f
commit
bb755d6245
1 changed files with 8 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue