Remove MonadFail (ST s) instance

Oleg Grenrus oleg.grenrus at iki.fi
Sun Nov 24 15:57:27 UTC 2019


I cannot see any justification for that instance

     -- | @since 4.11.0.0
     instance Fail.MonadFail (ST s) where
         fail s = errorWithoutStackTrace s

If someone wants to fail pattern matches in `ST s`, please do that 
explicitly.

I suggest and propose the removal without any deprecation period. If 
someone depends on this behavior, they ought to fix they code 
immediately: it's straight forward compiler type-error driven refactoring.

Note: compatibility package 
https://hackage.haskell.org/package/fail-4.9.0.0/docs/Control-Monad-Fail.html 
doesn't have that instance, so I suspect not-that many use(d) that instance.

Discussion period: 2 weeks (until Monday 2019-12-09).

- Oleg

P.S. you might run into problems  with 
https://gitlab.haskell.org/ghc/ghc/issues/15681 bug/miss-feature, but 
there's always a workaround to write code using explicit matching 
combinator, so it's not a show stopper.



More information about the Libraries mailing list