
Hi Stephen:
It could be:
It performs a rollback indeed.
I guess that this monad can be used in something similar to
nonblocking (multilevel) transactions.
if "GoBack" is changed to "Goback String", and a trace string is
added to each NoBack step, then each NoBack step could sum the traces
of all the previous steps. The when GoBack condition is reached, it
can transport back the entire trace of the failed execution. to the
BackPoint
2012/3/28 Stephen Tetley
Maybe this is a version of William Harrison's DebugT monad with rollback, listed in his periodic table of effects?
http://www.cs.missouri.edu/~harrisonwl/Presentations/UIUCFM05.ppt
I've never seen a definition of the monad itself... http://www.haskell.org/pipermail/beginners/2010-January/003371.html
participants (1)
-
Alberto G. Corona