
On 17/06/2011 16:42, Brandon Allbery wrote:
On Fri, Jun 17, 2011 at 11:11, Jacques Carette
wrote: they chose to stick to pure Haskell 98. Plan B is actually more fragile in that respect, in that if they forget to be really really explicit about their code being pure Haskell 98, the resulting compilation errors do not make it obvious that that is actually the problem. This will in fact only get worse as time goes by.
This is a very good point that is glossed over by the proposal: is Haskell 98 the default or is the current Haskell standard the default, and how do we handle existing code bases that might be broken by incompatible changes (the point of this discussion)? It's really the same question seen from a higher level.
When you're using Cabal, there's no "default", because all package dependencies are specified explicitly. When using standalone GHCi or ghc the plan A default would be - LANGUAGE Haskell2010 - -package base whereas currently (GHC 7.0) it is - LANGUAGE Haskell2010 - -package base -package haskell98 which is already a bit weird. We could make it - LANGUAGE Haskell2010 - -package haskell2010 but that would confuse a lot of people for negligible gain. Cheers, Simon