Henning: I don't think this is the right forum to discuss examples of mfix. Granted, it's not something everyone needs every day; think about how often you write recursive data-values, and imagine how often you need those to be happening in some monad. Not very often. But the phenomenon has been well studied, and there are a few illustrative "real-world" examples in Chapter 9 of: https://sites.google.com/site/leventerkok/erkok-thesis.pdf

-Levent.


On Tue, Aug 12, 2014 at 2:34 PM, Henning Thielemann <schlepptop@henning-thielemann.de> wrote:
Am 12.08.2014 um 21:17 schrieb Edward Kmett:


so it seems the logical extension of your request would be to strip all
such instances,

one by one, please :-)


Can someone provide me examples of useful applications of mfix on Maybe, ExceptT etc.?

I mean, all those mfix instances contain an "error" - wouldn't it be better if the user would do such dirty things and insert a more specific error message?

Admittedly, I have used mfix only once so far, at all, namely on an RWS monad, as far as I remember. Eventually I chose another design, because the mfix way was too fragile.


_______________________________________________
Libraries mailing list
Libraries@haskell.org
http://www.haskell.org/mailman/listinfo/libraries