Functor => Applicative => Monad
ml at isaac.cedarswampstudios.org
Sun Dec 12 20:22:41 CET 2010
On 12/12/10 12:33, Antoine Latter wrote:
> Are there any ways to make this sort of change not break things? There
> has been talk about a language extensions to make this thing work out,
> but they have never been fleshed out, and they've always been the sort
> that sounded like they would have many corner cases.
We could add a warning to GHC, "warning: Monad instance exists in this
module without corresponding Applicative and Functor instance" and the
like. Then change could be more gradual (e.g. people might apply things
like your ghc-patch, base-patch, etc. that increase compatibility).
(Not sure if it's a good idea, just throwing it out there.)
We should also check the performance, if using default method
definitions of any stripe. Many things rely on good Monad performance
More information about the Libraries