
But, on my side,
BackT [BackPoint 1]
and
BackT [NoBack 1]
can be made indistinguishable outside the code where the monad is
defined. Probably the effect required is not possible without
breaking the law
2012/3/31 Ross Paterson
On Wed, Mar 28, 2012 at 01:34:29AM +0100, Alberto G. Corona wrote:
In my package MFlow [1] I program an entire web navigation in a single procedure. That happened in the good-old WASH web application framework. The problem is the back button in the Browser. To go back in the code to the previous interactions when the data input does not match the expected because the user pressed the back button one or more times, i came across this Monad specimen,: that solves the problem.
This definition does not satisfy the right identity law (m >>= return = m) included in the monad definition:
*FailBack> BackT [BackPoint 1] >>= return BackT [NoBack 1]
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe