-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
Description
In my experience with Data.Sequence
and especially Data.Tree
, I have learned that it is extremely difficult to test that a MonadFix
instance obeys the laws. It also tends to be very difficult to prove that the laws hold. It would therefore be very helpful if checkers
could provide some assistance. It's tricky because the functions passed to mfix
need to be lazy, and their detailed strictness needs to be reflected in certain ways in the results of mfix
. I suspect the right approach is to find a way to generate some reasonably large but very well-behaved class of functions, probably with some help from the user.