
Kazu Yamamoto (山本和彦)
Hello Ben,
Hi Kazu,
As always, do let us know if you encounter any trouble in the course of testing. Thanks for your help!
I tried GHC 8.4.1rc1 to understand how SemigroupMonoid and MonadFail proposals work.
GHC 8.4.1rc1 surely detects Monoid data types if they are not instances of Semigroup. However, GHC users guide still says that both -Wcompat and -Wsemigroup are disabled by default. Should we update the document or am I missing something?
What you are seeing isn't a warning, it's an error. 8.4.1 throws errors for Monoids missing Semigroup instances not because of -Wsemigroup but rather because Semigroup is now a superclass of Monoid. -Wsemigroup will likely be deprecated in a future release now since we've reached phase 2 of the Semigroup/Monoid proposal.
GHC 8.4.1rc does not find Monad data types which define "fail" even with -Wcompat. Now I understand that -Wnoncanonical-monadfail-instances is necessary. Why doesn't -Wcampat include -Wnoncanonical-monadfail-instances?
My understanding is that the MonadFail proposal is in a bit of a state of limbo, so its preparatory warning flag hasn't yet been added to -Wcompat. Cheers, - Ben