
On Wed, Jun 17, 2009 at 10:24:48AM +0100, Duncan Coutts wrote:
Deprecating PatternSignatures seems uncontroversial, but the NoMonoPatBinds is potentially controversial. GHC essentially uses -XMonoPatBinds by default, even in H98 mode, and the user can use -XNoMonoPatBinds to restore H98 behaviour. Niklas's and my point is that the list of language extensions in Language.Haskell.Exceptions are differences from H98 so it should be MonoPatBinds to get the difference not NoMonoPatBinds to restore H98.
In practise, since ghc uses MonoPatBinds by default it'd mean that people who want to get back to H98 would need to use:
ghc-options: -XNoMonoPatBinds
I think that Cabal should allow any extension to be listed as either Foo or NoFoo, just as GHC does in a -X flag or a LANGUAGE pragma. This will also be useful if we get extension groups like Haskell'2009 and Haskell'2010, where you might want to say something like: Haskell'2010 minus ExistentialQuantification Thanks Ian